- 博客(93)
- 资源 (30)
- 收藏
- 关注

原创 各种小记录
1、sqlite中处理单引号:所有单引号换成双单引号,如:content.replace("'", "''");这样是不行的,临时抱佛脚,换成了带"?"的通配形式2、SimpleCursorAdapter 的 notifyDataSetChanged无效:可以使用SimpleCursorAdapter 的changeCursor方法:http://stackov
2013-10-08 15:37:15
3626
2
原创 【Android】ServiceNotFoundException: No service published for: search
java.lang.IllegalStateException: android.os.ServiceManager$ServiceNotFoundException: No service published for: search
2024-08-06 16:24:33
954
1
原创 Apk静默安装之调用系统隐藏API
文章目录0x00 问题0x01 调用系统隐藏API0x02 SystemHideAPISystemHideAPI.javaAndroid.mkBuildclasses.jar0x03 总结0xFF 参考0x00 问题何为隐藏的API?简单来说就是在源码中被用 @hide 标记的代码块,比如常量,方法等。以常用的 ActivityManager.java 为例,里面就有大量的隐藏API:@S...
2019-09-03 16:46:02
564
原创 NMS Toast
0x00 NMS ToastToast.makeText(Context, "Toast message content.", Toast.LENGTH_SHORT).show();以下代码分析基于Android 8.1.00x01 ToastToast类只有500多行,逻辑比较简单,主要有三部分组成: Toast,INotificationManager和TN。Toast类负责构造T...
2019-06-28 12:28:45
292
原创 RockChip主板系统签名说明
简介线下设备使用的都是RockChip芯片的主板,我们要求最终运行的App都有系统权限,因此最终签名都会使用系统签名。之前都是打包完成之后再手动签名,现改成打包的时候直接使用RockChip的签名。操作手动签名先生成apk,然后使用 signapk.jar 签名:java -jar signapk.jar platform.x509.pem platform.pk8 i...
2018-06-13 17:59:18
1547
1
原创 ThreadLocal
0x00 ThreadLocal查看Android Message源码的时候,看到一个类: ThreadLocal。之前没注意过这个类,看的有点迷糊,这里对其做一下总结。
2017-05-07 23:53:32
498
原创 TextWatcher中的参数
TextWatcher中的参数beforeTextChanged@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) {} This method is called to notify you that, within s, the count
2017-04-23 23:32:00
768
原创 java.lang.NumberFormatException: Invalid float: "55,4" 分析
java.lang.NumberFormatException: Invalid float: "55,4"
2017-04-08 08:50:33
3065
原创 使用Websocket实现消息推送(心跳)
本来以为写完了,结果最近和一个同事在讨论心跳的事情,这里再做一个补充。先说我的结论:WebSocket协议已经设计了心跳,这个功能可以到达检测链接是否可用心跳是用来检测链接是否可用的,不一定支持携带数据,可要看具体实现如果非要心跳中带上复杂数据,那这个可作为应用层的一个功能自己去实现
2017-03-17 14:02:05
56478
原创 Java中的比较: == 和 equals
- `==` - 基本类型 对于基本类型,`==` 的功能是比较值。 - `Object` 比较对象在内存中的地址。- `equals` 基本类型无equals方法。Object对象默认equals的实现如下:
2017-03-03 17:21:05
607
原创 Android闹钟遇到的那些坑
做过闹钟的话你就知道这中间有多少坑了。第一次做闹钟程序是在2012年,那时候android最新版本是2.2,2.3发布在即,做了一个整点提醒的小工具,记得很清楚,主要的问题是锁屏之后闹钟不能准时被唤醒,总会晚那么几秒钟,后来没办法把闹钟提前设置几秒钟。不过那时候环境还好,没有遇到攻克不了的问题,重启也可以唤起闹钟的。但是随着android版本的进化,开发者节操的丢失,问题就越来越难做了。
2017-02-24 18:32:29
4856
原创 使用requests处理cookie
常见的 application/json 请求,如果token进行验证,我们可以在header或者body中直接添加,对于使用cookie进行验证的请求,虽然可以自己维护cookie,但是会比token麻烦很多。之前的忘了请求都是使用python3的urllib进行,当处理cookie时,发现比较困难,因此着手另寻他法,这样就发现了requests。
2016-12-16 18:11:34
22336
原创 MediaPlayer单曲循环不卡顿
需求单曲循环播放歌曲,要求过度连贯,听不出来卡顿感觉。0x01 解决思路MediaPlayer对于常见的音乐播放,我们第一时间想到的应该就是它,它有一个方法MediaPlayer.setLooping(true);就是用来进行单曲循环的。但是很遗憾,如果你简单的这么做,上面的目的是达不到的,会出现上一遍结束出现一个明显的停止才开始播放下一次的现象。
2016-12-11 12:23:02
4051
2
原创 Data Binding给Button设置背景无效
0x00 问题通过Data Binding给Button设置背景无效。 具体表现为给Button设置不同的背景图片,但是无论怎样背景只会显示不同的颜色,而不是显示期望的图片。0x01 分析由于对Data Binding不是很熟悉,所以很奇怪为什么。不管怎样先打印下这个资源的值,发现在布局文件中打印资源值是有的。根据经验,设置不同的背景图片,背景会显示不同的颜色,那这个值可能被解析成了颜色值。
2016-11-15 16:13:30
1515
原创 使用Websocket实现消息推送(下)
上一篇使用 Java-WebSocket 写了一套 WebSocket 的Demo,这一篇着重分析下WebSocket 的一些实现细节,更加详细的协议细节可参考 RFC6455。
2016-09-11 20:53:19
5045
原创 Mac下Homebrew 安装 Mysql
0x00 mac下mysql安装简单记录mac下mysql安装。 这里需要一个前提——先安装 homebrew,具体可以参考这里。
2016-09-02 19:09:18
1212
原创 使用Websocket实现消息推送(上)
WebSocket一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并被RFC7936所补充规范,WebSocketAPI被W3C定为标准。
2016-08-26 23:13:56
36055
5
原创 Android通过Intent传递数据
当我们需要对JVM中的java对象进行转储时,就需要将其转化成二进制序列,然后才能存储到外部。这个序列中保存了java对象的类型,数据,数据类型等。当需要的时候,再对存储的二进制序列进行反序列化,即可将其还原。常见的场景比如:存储JVM中对象,通过Socket传递java对象,RMI等等。
2016-08-08 17:20:08
3152
4
原创 Retrofit初探——同步与异步请求
0x00 请求的形式我们正常的网络请求有两种形式:同步方式和异步方式。所谓同步方式,是指我们发出网络请求之后当前线程被阻塞,直到请求的结果(成功或者失败)到来,才继续向下执行。所谓异步,是指我们的网络请求发出之后,不必等待请求结果的到来,就可以去做其他的事情,当请求结果到来时,我们在做处理结果的动作。当然无论是同步还是异步,最终都是同步请求。0x01 同步请求Retrofit的同步请求...
2016-07-31 12:58:58
10903
原创 Retrofit初探——请求参数
0x00 请求参数常见的Http请求,除了指定的请求地址,很多时候我们还需要加上一些请求参数,这些参数可能是固定的,也可能是动态添加的。在Retrofit中,我们该如何处理呢?这里以GET方式中添加请求参数为例。
2016-07-24 16:33:38
3850
原创 Retrofit初探——Header问题补充
0x00 Retrofit Header上一篇中我们介绍Retrofit的一个简单的Demo和添加Header方法,这一篇在补充一下Header的另外几种处理方法。0x01 Header使用OkHTTP的Interceptor来处理Header信息,这种方法是需要我们在封装Retrofit的时候考虑的。但是有时候我们还希望能灵活的控制每一个请求的Header信息,接下来的几种方法满足我们这样的要求。
2016-07-17 09:09:54
4058
1
原创 Retrofit初探
Retrofit初探0x00 Retrofit很久以前就计划要研究一下,但是一直拖到现在,不知道是因为优先级放的比较低还是因为拖延症。总只,现在要完整的看一遍。由于这个已经出来很久了,所以我就直接选择了Refrofit2,没有去关注Refrofit1,等看完Refrofit2有时间的话再去看看Refrofit1,看看它们的变迁。好了,先从Refrofit2开始吧。
2016-07-10 12:23:54
930
原创 android你可能要用到的自定义View分享
Indicator View0x00 main进步、创新都是在不断变化的需求中诞生的。 -- By ttdevs这不,新的需求又来了。废话不多说,先上设计稿:简单分析上图包括三部分:最上面的类Progressbar,中间两个指示盘和最下面的指示盘。第一个类Progressbar我们项目之前有实现过,但是和这个需求有一些差异,因此决定重新实现一遍。另外
2016-06-19 14:46:55
2555
原创 从浏览器中打开我们的应用
有时候你会发现,用Android系统自带的浏览器(chrome)打开一个web页面,如果安装了相应的App,就会自动打开这个App并进入具体的界面中。
2016-05-08 23:55:10
6399
原创 Android本地数据安全尝试(中)——Conceal
上一篇我们提到使用SQLCipher对本地的数据进行加密。在保证数据安全的同时,我们又引入了一些新的问题,比如安装包体积的增加,数据存储过程中耗时增加,数据加密的粒度不可控等等。如果你接受不了这些问题,那我们还需寻找其他的加密方法。这里给大家推荐Conceal
2016-02-27 09:38:26
4125
1
原创 Android本地数据安全尝试(上)——SQLCipher
从今天开始,又开始写博客啦啦啦啦。话说基本上一年多没好好写博客了。回想起来,和之前写博客时相比,还是差距好大。好吧,废话不说了,进入正题。首先,开篇打算跟大家分享下你遇到的或者将来可能遇到的问题:本地数据的安全问题。多数情况,我们可能没有去考虑app的本地数据安全问题,一来公司没这样的要求,二来我们可能也没有非常需要保密的数据。那现在思考一下为将来做储备。
2016-02-19 22:25:33
4504
原创 让RecyclerView支持加载更多(Endless RecyclerView)
在Android的Support包中我们有很多新的组件可以使用,比如代替ListView的RecyclerView。使用RecyclerView和SwipeRefreshLayout组合,我们可以实现很酷炫的下拉刷新的功能。但是,事情总不是那么美好,有了下拉刷新,却找不到上拉加载更多(我们已经习惯了PullToRefresh),最终还是放弃了使用RecyclerView。现在看来,自己实在是太懒了。好了,今天就让我们的RecyclerView支持加载更多。
2015-09-26 10:37:37
5292
原创 Facebook Fresco体验 (一)
Fresco 一个强大的Android图片显示系统。图片的加载和显示交由它负责,我们就不需要关心了。这两句足以说明他的牛逼——有几个插件感这么自己的称自己为System的。当然,Facebook出品,必属精品。
2015-04-10 17:55:37
3224
原创 android Toobar的一个简单封装
现有的APP尝试向Material Design靠齐,开始使用Toolbar代替之前的ActionBar。Toolbar和ActionBar的直观区别就是需要我们自己将ToolBar加到自己的布局文件中。目前的情况是:在我们的现有项目上改动,多数的Activity都是继承一个BaseActivity。为了用最小的代价达到目的,简单的思考之后,做了如下的改动:/** * 带ToolBar的
2015-04-06 22:42:44
1795
android反编译工具
2014-12-31
Activity和Fragment的生命周期
2014-04-28
google volley源码和jar
2013-12-26
模仿支付宝手机客户端长按ListView的Item弹出操作按钮效果
2013-12-11
android 二级城市选择
2013-10-26
android 读取本地中国城市数据库
2013-09-28
Android下拉刷新:Chrisbanes的PullToRefresh
2013-09-14
自定义的带tab的可左右滑动的viewpager
2013-08-25
android滑动引导页面
2013-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人