- 博客(13)
- 资源 (62)
- 收藏
- 关注
原创 Android apk增量升级
在服务器端,生成最新版与之前所有版本的差分包,为什么是所有版本,因为我们无法知道用户当前版本是什么版本在手机客户端更新程序时,下载差分包,使用已安装的旧版apk与这个差分包,合成为一个新版apk校验新合成的apk文件是否完整,检验合成版本的签名是否和已安装客户端一致,如一致则提示用户安装
2015-05-29 16:20:31 3693 2
原创 解读EventBus源码
Event其实就是一个对象,可以是网络请求返回的字符串,也可以是某个开关状态等等。事件类型(EventType)指事件所属的 Class。 事件分为一般事件和 Sticky 事件,相对于一般事件,Sticky 事件不同之处在于,当事件发布后,再有订阅者开始订阅该类型事件,依然能收到该类型事件最近一个 Sticky 事件ThreadModePostThread-> onEvent(Object e
2015-05-27 11:25:22 2559
原创 Android 4.4 Dialog 被状态栏遮挡的解决方法
首先看不正常的图,点击tracing_dialog按钮弹出对话框 然后看理论上的效果图 观察两张图发现,不正常的图最上方被状态栏遮挡住了,而该问题存在于android4.4版本中。为了修复该问题,我们增加一个函数在Dialog的子类中,对于android4.4及以上版本进行修复,而android4.4以下版本不进行处理。我们先来看有问题的代码package cn.edu.zafu.demo;im
2015-05-22 20:30:37 10926 2
原创 Ubuntu14.04 Chrome无法打开的解决方法
运行下以下命令 rm -rf ~/.config/google-chrome此时再打开就可以正常使用了
2015-05-19 22:06:22 8974
原创 static引发的RecyclerView上下滚动数据显示异常的bug
之前使用RecyclerView从来没有出现过这种问题。问题大致是这样的,当滑动RecyclerView时,某项item内的数据不断发生改变。如图所示: 从图中可以看到,中间的一项内容随着滚动在不断的发送变换。找了好久没找到原因,后来去stackoverflow上找了下,找到了类似的问题,但是依然没有解决方法,后来无意翻看以前的代码,想起来写ViewHolder的时候把成员变量声明成stati
2015-05-16 09:23:16 4551 1
原创 Android ViewPager内容部分随手势上下滑动隐藏与显示Indicator效果的实现
效果ViewPager中的内容,比如ListView手势上下滑动,当内容向下滑动时,即手势上划,隐藏indictor,当内容向上滑动时,即手势下滑,显示indicator,效果如图所示 编码借用两个库来快速完成 1. ViewPagerIndicator 2. ObservableScrollView将两个库引入项目中去,快速的搭建一个ViewPager框架后,在ViewPager每页对应
2015-05-13 08:54:25 8267 11
原创 Android 各大网络请求库的比较及实战
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个。本篇文章对常见的网络请求库进行一个总结。HttpUrlConnection最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android 2.2及以下版本中HttpUrlConnection存在着一些bug
2015-05-11 09:30:07 19620 20
原创 Android Studio编译时Gradle报乱码
其实这个问题已经困扰了很久了,只不过对编译没什么影响,就一直放着了,今天又遇到了,实在看不过去了,就去找解决方法,然后呢,搜出来的答案全都是一样的,而且也试了,没有用,尼玛,太过分了。问题是这样的,代码中有中文,中文是在注释中,显示的时候是完全正常的,然而编译的时候gradle会报错,但是呢,又可以编译成功。这尼玛,真蛋疼。。提示信息其实也是乱码的,别问我既然乱码的下面的信息你是怎么得出来的,这不是
2015-05-07 11:03:39 11654
原创 Android 屏幕适配最佳实践
参考该文章理论知识加代码 Android 屏幕适配方案但是呢,该篇博文里个人觉得代码封装的不是很好,于是自己封装了下,使用XStream生成xml。上面那篇文章里没有对横竖屏进行适配,代码里完善了这一点。 在开始码代码前,贴一张图,结合前面那篇文章的理论知识一起看。 然后呢看最终适配的效果,这里以320*480为基准,屏幕上放一个TextView,宽度为x160,高度为y240,效果图
2015-05-05 09:39:39 3255
原创 Android View绘制及实践
整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为: - 判断是否需要重新计算视图大小(measure) - 判断是否重新需要安置视图的位置(layout) - 判断是否需要重绘(draw)
2015-05-03 19:32:44 1777 4
原创 Java 注解总结
作用标记,告诉编译器一些信息。比如@Override,@Deprecated,@SuppressWarnings等。运行时动态处理。可以通过相应的函数得到注解信息。getAnnotation(AnnotationName.class) 表示得到该 Target 某个 Annotation 的信息,因为一个 Target 可以被多个 Annotation 修饰getAnnotations() 则
2015-05-03 11:42:34 1540
原创 Android View的事件分发机制
View事件的事件分发机制在android中是重要的一部分,尤其在自定义View的过程中要特别注意这一块,如果没有深刻理解这块,那么写出来的View将会或多或少的有问题,这篇文章不像其他文章那样长篇大论,而是自己学习这块知识点的过程记录。自己完全写一篇事件机制的文章也没有必要,因为这种文章现在太多了,没有必要重复造轮子。最开始接触事件分发机制大概是郭大神的博客里的两篇文章Android事件分发机制完
2015-05-02 12:53:15 2342
原创 Android 调试神器-Stetho(Facebook出品)的使用
前言Chrome的Developer Tools对于WEB开发者来讲几乎是一个神器,而Chrome Store里也有无奇不有的插件,如果Chrome能调安卓应用应该是一件美好的事,而Facebook开源的一个工具Stetho让Chrome调试android 应用不再是一个梦。安卓在调试时,有时候需要查看数据库,SharePreference等,而这个前提是必须root,另一方面,andoird的网络
2015-05-01 17:26:58 19802 4
Android 使用ORMLite打造万能泛型Dao简化数据持久化层
2015-08-27
Android插件化开发之OpenAtlas中四大组件与Application功能的验证
2015-08-24
Android插件化开发之解决Atlas组件在宿主的注册问题
2015-08-21
Android插件化开发之Atlas插件适配
2015-08-20
AXMLPrinter2
2015-08-14
Android SVG动画PathView源码解析与使用教程(API 14)
2015-08-11
Android新技术学习——阿里巴巴免Root无侵入AOP框架Dexposed
2015-08-07
Android Support Percent Library
2015-07-01
如何使用Android Studio 开发Gradle插件
2016-03-03
如何使用Android Studio开发Gradle插件(一)
2016-03-02
Android RecyclerView瀑布流布局添加Footer实现上拉加载
2015-11-30
Android 使用OpenCV的三种方式(Android Studio)
2015-11-17
Android IM之基于Openfire+Smack的聊天服务器的搭建与测试
2015-09-25
Android使用Bmob移动后端云Restful API需要注意的问题
2015-09-24
Android Studio使用新的Gradle构建工具配置NDK环境
2015-09-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人