为了账号安全,请及时绑定邮箱和手机立即绑定

Android

FragmentPagerAdapter和FragmentStateP 原创

前言 FragmentPagerAdapter和FragmentStatePagerAdapter是我们开发中经常遇到的两个类,尤其是和ViewPager的配合。几乎我们每个Android开发者都被Fragment和ViewPager,PopupWindow,适配等等一堆神坑折磨着,尤其是Fragment神坑无数,这些都是天天在用的组件,Google为什么留给我们这么多坑。也正因如此,为了不掉进坑...

545浏览 8推荐 0评论

Hook Android 应用启动页

问题 前两天看到联通沃商店的 SDK 能让接入方应用的入口 Activity 在联通的闪屏页面结束之后出现, 我想他是不是才用什么黑科技 hook 了人家应用的入口Activity, 反编译了它的源码看了下,并无什么黑科技, 而是要求接入方声明它的闪屏页面为入口页面,我在想能不能在接入方无知觉的情况下 hook 应用的入口 Activity,先 hold 住等我们自定义的 Activity 完成之...

1300浏览 5推荐 0评论

一个能让你了解所有函数调用顺序以及函数耗时的Android库 原创

背景:当项目代码量很大的时候,或者你作为一名新人要快速掌握代码的时候,给函数打上log,来了解代码执行逻辑,这种方式会显然成本太大,要改动项目编译运行,NO!太耗时;或者你想debug的方式来给你想关注的几个函数,来了解代码执行逻辑,NO!因为你肯定会漏掉函数;也许你可以固执的给你写的项目打满log说这样也行,但是你要知道你方法所调用的jdk的函数或者第三方aar或者jar再或者android s...

1243浏览 5推荐 1评论

Kotlin Android Extensions使用指南 原创

Kotlin Android Extensions是Kotlin团队开发的一个插件,目的是让我们在开发过程中更少的编写代码。目前包括了视图绑定的功能。 几种绑定视图方式对比 xml文件如下 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="ht...

980浏览 7推荐 0评论

识别目标View在HorizontalScrollView可见区域 原创

完成需求的时候涉及到这个所以撸了一下 本文章是本人原创,转载请带原地址连接 先放效果图('霁雪清虹"是目标): 首先需要一个自定义HorizontalScrollView,复写一个View的onScrollChanged方法,用于监听滑动变化 代码如下: import android.content.Context; import android.util.AttributeS...

744浏览 4推荐 1评论

Android应用启动过程-Launcher源码浅析 原创

本文参考的源码(7.1.1_r6) Launcher也是一个应用程序,和我们的App没有什么区别,当用户点击应用图标时候,启动其他的App,本文主要为分析Activity的启动流程打基础。 Launcher.java代码量比较多,大约4500多行,但是里面的逻辑并不复杂,不过我这里分析它的意义主要为了更好理解后面的知识,了解Launcher具体的流程才是重要的,不要沉迷代码中无法自拔! 先来张图:...

523浏览 3推荐 0评论

源码分享: Light - 如何优雅的使用 SnackBar 原创

Light 优雅地使用Snackbar. 灵感来源于 Toasty. 截图 下载 Gradle 将下面的代码添加至你的 根 build.gradle 文件 (不是 module 下的 build.gradle 文件,点击这里查看示例)。 allprojects { repositories { jcenter() } } 将下面的代码添加至 module 下的 build.gradle文件: de...

802浏览 3推荐 0评论

经历的某度的一场面试(上) 原创

如梦朦胧 九月份的时候有了换工作的躁动,然后投了某度的Android岗位,本以为像我这种非211、985没工作经验的渣渣只能被直接pass,结果却意外的收到了电话,真是受宠若惊.经过电面,技术三面,然后就是等通知到最后拿到了OFFER,如梦一般,真是挺激动的. 面试的准备 当收到HR的面试的通知还是很懵逼的,因为感觉自己突然啥都不会了,迅速镇定下来,去网上找了一下某度的面试题,但是发现都只有提问了...

2016浏览 22推荐 3评论

加强静态代码检测级别在编译期检测存在风险的代码 原创

使用背景:由于Android版本的迭代,google在不同版本新增了不同的方法,如果使用了大于APP所规定的min API方法的时候,但是编译能过,这将会导致线上出现No Method的Crash问题,如果能在编译期就使用lint工具检测出问题就好了。由于经历了血淋淋的教训,以下给出了解决痛点的办法。 1.初识lint lint 是google 给出的静态代码检测工具,用于分析包括内存泄漏,纠正代...

933浏览 3推荐 0评论

阿里ARouter路由实现模块化开发流程(一)

Android平台中对页面、服务提供路由功能的中间件,我的目标是 —— 简单且够用。 这是阿里对Arouter的定位,那么我们一起来梳理一下Arouter使用流程,和使用中我所遇到的一些问题! 先来看看有哪些功能 模块化的要解决的问题 模块间页面跳转(路由); 模块间事件通信; 模块间服务调用; 模块的独立运行; 模块间页面跳转路由拦截(登录) 其他注意事项; 对项目模块进...

228浏览 5推荐 0评论

移动端http、https抓包之Charles 原创

抓包工具Charles的使用 Charles的安装大家自行搜索安装就好了。macOS环境,windows环境上有更好的Fiddler,这里不做过多介绍。Charles中各个设置的位置可能在不同版本中有变动,本文章使用了Charles4.1.4 安装后的代理基本设置 1.调出端口设置页面 菜单栏操作 Proxy->Proxy Settings... 2.设置端口 选中Proxies面板->...

930浏览 10推荐 1评论

人人都会设计模式:03、策略模式--Strategy 原创

教程简介 1、阅读对象 本篇教程适合新手阅读,老手直接略过 2、教程难度 初级,本人水平有限,文章内容难免会出现问题,如果有问题欢迎指出,谢谢 3、Demo 地址 https://github.com/githubchen001/DesignPattern 请看 Strategy 部分 正文 一、什么是策略模式 1、 生活中的策略 比如说我要出行旅游,那么出行方式有--飞机、自驾游、火车等,这几种...

298浏览 4推荐 0评论

Android Gradle 使用教程(上) 原创

1.介绍 如果你正在查阅build.gradle文件的所有可选项,请点击这里进行查阅:DSL参考 1.1新构建系统的特性 gradle构建系统具有如下的特点: 易于代码和资源复用 易于创建应用的版本,例如发布多apk以及应用的不同渠道版本 构建过程易于配置,扩展和优化 良好的IDE整合 1.2为什么使用Gradle? Gradle既是一个先进的构建系统,也是一个允许通过插件创建自定义构建逻辑的构建...

1526浏览 8推荐 0评论

经历的某度的一场面试(下) 原创

接自经历的某度的一场面试(上) Android 一. Handler机制  Android 的消息机制也就是 handler 机制,创建 handler 的时候会创建一个 looper ( 通过 looper.prepare() 来创建 ),looper 一般为主线程 looper.     handler 通过 send 发送消息 (sendMessage) ,当然 post 一系列方法最终也是...

644浏览 10推荐 1评论

Android经典蓝牙开发简介 原创

公司的项目最近需要用到蓝牙开发的相关内容,因此特地查阅了Google官方文档的内容并进行二次整理,希望能对需要学习该部分的朋友有所帮助。 原文地址: http://developer.android.com/intl/zh-cn/guide/topics/connectivity/bluetooth.html 1.简介 关于蓝牙的介绍对于阅读本文章的人来说并不需要我进行对于的介绍。在Android...

334浏览 6推荐 0评论
首页上一页1234567下一页尾页

推荐作者

热门手记

意见反馈 常见问题 APP下载
官方微信