- 博客(20)
- 资源 (2)
- 问答 (3)
- 收藏
- 关注
原创 EventBus源码详解(二):进阶使用
写在前面EventBus是一个Android平台上基于事件发布和订阅的轻量级框架,可以对发布者和订阅者解耦,并简化Android的事件传递。
2017-09-19 22:05:52
590
原创 EventBus源码详解(一):基本使用
写在前面对于Android程序员来说,相信大家都听过EventBus的大名。EventBus是一个Android平台上基于事件发布和订阅的轻量级框架,可以对发布者和订阅者解耦,并简化Android的事件传递。正如官方介绍其优势:简化了组件之间的通信 解耦事件的发送者和接收者在Activity、Fragment和后台线程表现良好避免复杂和易出错的依赖性和生命周期问题使你的代码更加简洁快速和
2017-09-17 13:08:58
567
原创 Java 字符串与byte之间的相互转换
写在前面你是否跟我一样,在一些需要加密的代码里看见需要把字符串转换为字节的场景,例如MD5加密。而你每次看到像我以前一样,自动地略过(反正别人都写好了,我用就是了)。如果是的话,不要再逃避了,下面跟我一起来了解一下字符串与byte之间转换的原理正文原理 我们都知道,在Java里byte类型是占用1个字节,即8位的,而16进制的字符占用4位,所以每个byte可以用两个字符来表示,反之亦然。举个栗
2016-10-02 19:09:32
38594
原创 微信自动回复和自动抢红包实现原理(一):AccessibilityService的介绍和配置
1. AccessibilityService的介绍前几天在浏览技术博客时,看到一篇文章自动抢红包,自动安装原理之AccessibilityService。发现了Android提供了一个很有趣的辅助类——AccessibilityService!决定自己也来探索一番。
2016-08-13 16:30:22
7971
原创 Android开发中, 将apk和SQLite数据库一起打包发布 (没root手机)
要把SQLite数据库与apk一起打包很简单,只要把数据库导出,并放在assets文件夹中,app首次打开时加载就可以了。但有个问题:没root的手机不能通过DDMS查看/data/的文件(数据库保存在这里)。我们只能通过adb shell来获取数据库文件了。打开命令行,输入以下命令:run as [package_name];cd /data/data/[packa
2016-06-06 22:31:33
3538
2
原创 Java实现表达式的运算
最近在做个C++课设,需要根据输入的表达式计算出结果。本人是学Android的,感觉这算法经常用到,就用Java实现了一遍。我们平时接触的表达式是中缀表达式,如:12 * ( 8 - 3 ) - 20 。我们很简单就能算出结果为40,但计算机不行,我们要告诉它怎么算,就需要把中缀表达式转换为后缀表达式了。基本思路:顺序扫描中缀表达式,当读入一个运算分量时就立即输出;而读入一
2016-06-06 00:37:54
6068
原创 Android App用电优化
优秀的App都应该重视手机的电量使用情况,如果一个App耗电量很大,很有可能被用户删除。下面我通过用BroadcastReceiver来监听手机的充电状态和网络连接状态,分别做出相应的操作,从而降低App用电量。首先介绍监听充电状态。BatteryManager会在设备连接或者断开充电器的时候广播一个Action,分别为ACTION_POWER_CONNECTED与ACTION_POW
2016-05-29 00:54:27
583
原创 优秀开源项目SwipeLayout的使用
今天项目使用了SwipeLayout开源项目,就是像QQ侧滑删除效果的第三方库,支持上下左右划出布局,并支持所有组件!非常强大!在这里写下它的简单使用,当作自己的笔记。这里用Listview来举例。首先写布局文件list_item.xml:<com.daimajia.swipe.SwipeLayout xmlns:swipe="http://schemas.andro
2016-05-12 00:45:01
8543
原创 ViewPager+Fragment的预加载问题
把Fragment装进ViewPager, 当启动ViewPager所在的Activity时, 默认会预加载两个Fragment. 例如, ViewPager显示的第一个Fragment是Fragment1, 会自动加载下一个的Fragment.我把四个Fragment装进ViewPager, 并监听四个Fragment的生命周期, 如下图:从上图可以看到, Fragment2预加
2016-04-01 01:00:55
1315
原创 Java常用排序算法(二):选择排序
一.简单选择排序: 基本思路: 遍历序列, 把最大值放置在序列的第一位, 次最大值放置在的二位, 一直循环到最后一位跟倒数最后一位的比较为止.实例:初始序列: 34, 08, 23, 99, 12, 34第一次排序: 99, 34, 08, 23, 12, 34第二次排序: 99, 34, 08, 23, 12, 34第三次排序: 99, 34, 3
2016-03-23 22:58:09
634
原创 Java常用排序算法(一):插入排序
1. 直接插入排序基本思路: 在要排序的一组数中,假设前面(n-1)[n>=2]个数已经是排好顺序的, 现在要把第n个数插到前面的有序数中,使得这 n个数也是排好顺序的。 如此反复循环,直到全部排好顺序。实例: 初始序列: 76, 54, 12, 43第一次排序: 54,
2016-03-20 00:09:52
660
原创 Android客服端, 服务器和数据库简单交互之获取图片
大概思路: 数据库按编号保存图片的路径, 当客服端请求获取图片时, 服务器根据编号获取图片的保存路径, 并返回客服端, 客服端在根据此路径下载图片到本地服务端:GetPicServlet.classpublic class GetPicServlet extends HttpServlet{ private static final long serialVersionU
2016-01-16 14:41:48
1623
原创 用Thread和Handler实现倒计时
在android开发中, 很多时候需要倒计时, 如获取验证码时.需要一个倒计时在界面显示出来, 可以开个线程更新界面, 但非UI线程无法更新界面, 就需要用到Handler了代码实现:btn = (Button)findViewById(R.id.btn);btn.setOnClickListener(new OnClickListener(){ @Overr
2015-12-12 17:47:25
1073
EventBus源码详解(一):基本使用 Demo
2017-09-17
android ndk生成的so库, 如何在java程序里调用?
2016-09-22
安卓界面竟然被状态栏覆盖了!!!
2015-11-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人