- 博客(5)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 从源码简要分析Handler的原理
Handler我们经常会用到,一般可以用来处理延时任务,或者进行异步耗时操作的同时更新UI等。在使用过程中,不知道大家是否和我以前初学的时候一样有这样的疑惑:一般我们都是在UI线程新建static hander对象,并且实现了它的HandleMessage()方法,然后在其他任何地方通过sendMessage()方法发送的消息,最后都会被handleMessage()所处理,包括子线程里调...
2018-07-24 01:09:57 290
原创 Android AsyncTask的使用及源码解析
AsyncTask, 翻译成中文就是“异步任务”,顾名思义它就是用来处理不同线程相互协作的问题的。 常用的场景比如从网络下载图片并显示的过程,“下载”这个过程得放在后台线程里,而更新进度以及显示图片需要在主线程完成,这时候,用AsyncTask就很方便了。先介绍一下AsyncTask类的一般使用方法和注意事项: AsyncTask类是个抽象类,使用前必须继承并实现它的重要方法:clas...
2018-07-09 11:52:02 848
原创 如何动态获取Android系统属性
Android设备有很多系统属性,比如说Android版本号,比如品牌,型号,比如厂商操作系统的版本号等,我们经常会要用到这些属性,那怎么获取呢?最简单的办法,就是连接USB调试后,在命令行输入 adb shell getprop xxx查看结果,其中xxx是系统属性名称。当然我们首先得知道这个属性名称才行。 但是如果我们不只是要看到结果,还要在代码里动态获取并且使用,该怎么办呢?可以用如下...
2018-07-19 18:52:04 6281
原创 SharedPreferences数据存储的apply()和commit()区别
练习SharedPreferences的使用:存数据: SharedPreferences sp = getSharedPreferences("data", MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); editor.putString("name", "lala");
2018-07-12 18:51:08 16312
原创 一个Bug案例的解决过程:连续输入错误的PIN码,不能实现第二次倒计时30s才能重试
此问题是草稿箱存了两年的一篇文章,还是重新发表了吧……^.^ 当时改Bug的时候Settings功能出现的一个问题,解决过程收获蛮多,所以写下总结。问题的现象: 1.打开 Settings → Security →Screen lock,设置PIN。 2.重新打开该选项,输入错误的PIN五次,手机会开始提示30s后才能继续尝试。 3.等待30s后,再次输入错误的PIN五次,观察现象。...
2018-07-09 13:55:10 6375
Android apk 反编译工具
2019-12-12
前端React 项目,如何保存一个对象到本地?
2021-12-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人