Android - keep the device awake

2020-04-01
阅读 1 分钟
1.2k
备选方案 首先,官方提供了一些功能来满足我们开发一些特定功能的需求。 如果要执行一个长时间的下载任务,使用 DownloadManager 如果要和服务器 sync 数据,使用 Sync adapter 依赖一些 service 做一些后台工作,可以使用 JobScheduler 如果上面的功能满足不了你的需求,才考虑使用 wake lock。 保持屏幕常亮 保持屏幕...

什么是 URI ?

2019-11-28
阅读 3 分钟
7.5k
什么是 URI ? URI 的定义在 RFC 2396 中有详尽的描述。 URI 是 Uniform Resource Indentifier 的缩写。是用来描述物理的或者抽象的资源的唯一标识符。 这三个字单词也正描述了 URI 的特点: 形式统一(Uniform) 形式统一带来的好处是,对于各种各样不同的资源,都能有相同的表现形式。各种资源不相同,但在形式上统一...

SparseArray:解析与实现

2019-01-17
阅读 8 分钟
4.5k
Android提供了SparseArray,这也是一种KV形式的数据结构,提供了类似于Map的功能。但是实现方法却和HashMap不一样。它与Map相比,可以说是各有千秋。

View.findViewById是深度优先的

2018-04-27
阅读 2 分钟
6.9k
我喜欢用简单的单词来给xml中的元素加id,比如一个View里面要展示一行文字和一个图标,那么,展示文字的就叫text,展示图标的就叫icon

RecycleView中自定义View,宽度如何match parent

2017-09-11
阅读 2 分钟
3.9k
但是有时候,ItemView特别复杂的时候,在这里inflate出来并不是很好,当View比较复杂的时候,往往自定义一个View,然后给个setData的方法让外面把数据丢进去比较好。

坑!为什么View.startAnimation不起作用?

2017-09-07
阅读 1 分钟
8.6k
最近想做一个自定义的动画效果,第一个想到的方式是继承Animation,利用它的applyTransformation这个方法来实现,其实也可以自己写线程,定时抛一个事件来处理,其实是一样的,只是直接继承这个很方便。

同步、异步数据混合加载列表的技巧

2017-03-08
阅读 2 分钟
2.4k
情况是这样的,你的页面需要显示一个列表数据,但是数据的一部分,你可以同步的获取到,数据的另一部你只能异步的获取到,另外,你需要根据这些数据中间插入一些分割占位,或者一些header之类的装饰性数据项。

反编译apk的步骤

2016-11-02
阅读 2 分钟
7.4k
1.先要获取目标应用安装包(.apk)文件 1.1.在rom中找 1.2.通过adb pull从/system/app/目录找搞出来 1.3.在网上搜,看看有没有xxx.apk的下载 2.反编译apk工具与准备 2.1.需要/system/framework/里面的东西,直接adb pull出来 2.2.需要7za (这里面有个oat2dex附件里面有这个 [链接] ) 2.3.apktool(HP: [链接] ) 2.4.a...

最佳的UI更新套路

2016-10-26
阅读 4 分钟
3.6k
是这样的,有时候,我们需要创建一个符合业务的View,或者称为UI对象,比如,即时通讯软件的好友列表里面的每个item,那么这个item要有头像,名字,简短描述三个数据项。那么,我们这个View对象,就得有三个对应的方法来设置这三个属性,然后View显示的时候,就显示出我们最新的数据就好了。

Android开发套路收集整理与讨论

2016-10-09
阅读 7 分钟
4.2k
通常,我会添加一个initView()方法来初始化所有的View对象,在这个方法的具体实现中,可能会有两种不同的细微差别。第一种是仅仅做findViewById()就好了,也就是仅仅是去找到每一个View对象,而不去给它们设置属性,比如setText()之类的。另一种则是在findViewById()后,顺便给它们设置初始值。

Android 中线程间通信原理分析:Looper, MessageQueue, Handler

2016-08-04
阅读 12 分钟
7.4k
转载一篇我之前发在csdn上的博客。 自问自答的两个问题 在我们去讨论Handler,Looper,MessageQueue的关系之前,我们需要先问两个问题: 这一套东西搞出来是为了解决什么问题呢? 如果让我们来解决这个问题该怎么做? 以上者两个问题,是我最近总结出来的,在我们学习了解一个新的技术之前,最好是先能回答这两个问题,...