- 博客(28)
- 资源 (2)
- 收藏
- 关注
原创 RecyclerView浅析
RecyclerView整体来说,还是和ListView比较相似的(屁话,他们的需求接近)RecyclerView最大的两个特色:1. 更高程度的解耦,方便灵活的组合和扩展2. Recycler相较于ListView更加复杂的缓存机制,可以带来更高的View复用性能3. 细节实现更加出色,对于API detachViewFromParent & attachViewToParent的使用,有助
2016-08-14 20:04:45
2138
原创 SwipeRefreshLayout采坑笔记
SwipeRefreshLayout有个bug(好吧,这边见仁见智了):xml文件:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="m
2016-05-25 21:59:04
1330
原创 Fragment生命周期的简单分析
目前,在贝贝和米折客户端中,Fragment的生命周期存在两种不同的形式: 通过MyFragmentManager管理的Fragment生命周期为: 创建:onAttach->onCreate->onCreateView->onActivityCreated->onStart->onResume 回收:onPause->onStop->onDe
2014-11-07 20:27:38
1730
原创 Pressed状态和clickable,duplicateParentState的关系
做Android开发的人都用过Selector,可以方便的实现不同状态下,
2014-04-13 23:58:53
7871
原创 android xml界面小技巧
最近两天学到了几个xml使用的小技巧,记录在这里备忘,也希望能帮到路过的大家。其实下面的效果,如果有美工配合,都不是问题,但是,往往身边没有美工小伙伴,或者“美工女王”的气场比较强大,不想轻易麻烦人家,那么下面的小技巧就会变得比较实用。另外,祝程序猿都能找到美工妹子做老婆,男女搭配,干活不累,^_^~自动选择背景图/背景颜色 其中,可选的状态类型包括:
2014-04-02 22:49:48
2155
原创 Android Zygote 进程的启动
Zygote意为“受精卵”,即所有的Android进程都是由其“发育”而来的意思。本人试着把啃代码学到的内容整理出来,希望会对自己以后有用。
2014-03-18 17:31:51
2094
原创 Android 后台线程调用前台线程的几种方法
Activity.runOnUiThread( Runnable )View.post( Runnable )/ View.postDelayed( Runnable, long )HandlerAsyncTask
2014-03-04 10:28:07
1771
原创 Android平台应用更新的一点想法
目前主流的两个种apk更新方式:通过市场更新通过app内部下载更新 不过,根据随着android系统的发展,apk的体积变得越来越庞大,这种更新方式的时间成本和流量成本不断增加。Google显然也发现了这个问题,提供了Smart App update,即差分升级方式。通过提供不同版本apk间的差异档来减小需要下载的数据量。 可惜的是,到目前为止,差分
2014-02-26 16:48:04
1539
原创 Binder机制学习总结(四)-Java接口部分
因为上一节service manager中,对于binder通信的客户端(BpServiceManager)和服务端(service manager进程)已经有比较详细的解释,所以,不再对于Binder通信的client端和server端做分析,有兴趣的同学可以看看MediaPlayerService和MediaPlayer,网上很多资料有讲解。 当目前为止,所有的代码都是以C/
2014-02-17 23:08:59
4070
原创 Android Binder机制学习总结(三)-ServiceManager部分
接上篇的内容,分析下ServiceManager的实现。 ServiceManager的实现位于: 4.2:/frameworks/base/cmds/servicemanager/ 4.3:frameworks/native/cmds/servicemanager/
2014-01-29 17:29:34
3560
原创 Android Binder机制学习总结(二)-Driver部分
本文主要分析Binder Driver的实现。Binder Driver 的实现代码位于 android kernel中:\drivers\staging\android\binder.c & \drivers\staging\android\binder.h.代码量不大,总计4000行左右。关于Kernal代码的下载,可以使用指令(如果https不行,就用http试试):git clon
2014-01-17 17:45:52
9235
原创 Android Binder 机制学习总结(一)
已经不止一次想要花些时间把Android的Binder机制搞搞明白,最近的工作总算比较清闲,所以花了差不多3周时间,看了一些资料,读了不少代码。现在把这些资料整理下,方便自己以后忘了回来看看。
2014-01-06 11:28:07
2660
1
原创 Android 基于dpi的资源加载
Android设备碎片化问题一直被开发者广为诟病,而且,因为目前手机屏幕越来越来,分辨率越来越高,大有愈演愈烈的趋势。除了等待Google给出一个更加有效的解决方案以外,我们只能尽量适应当前的环境,尽量让自己的产品能够在更多的产品上正常运行。 在Google的建议下,开发者普遍使用dpi/dp单位,进行UI设计。本文将会介绍dalvik基于dpi加载资源的规则。
2013-09-23 11:52:09
7715
原创 Android消息机制不完全解析(上)
AndroidAPI:Hanlder, Looper, Message,及MesageQueue的源码实现。
2013-08-26 11:58:23
4394
原创 基于ViewFlipper实现图片切换
在很多App上我们经常看到这些效果:淘宝首页自动滚动的图片展示效果支付宝应用第一次启动启动的用户引导画面要实现这些效果,有些控件可以帮助我们:1. ViewPager2. ViewFlipper3. Fragment好吧,我最终选择了ViewFlipper,因为它的使用最干劲清爽(往里面放几个View就行了),而且还支持自动播放。不过,为了实
2013-07-08 17:59:21
2343
原创 Android TouchDelegate
TouchDelegate是个挺有意思的小玩意,它可以帮助我们让某个控件处理比它实际占用空间更大的触摸消息。 之前,我曾经看到过一个app,上面有一个小图标共用户拖动操作,因为图标太小,经常点不到,当时我想到的处理方案是把图标改大,这样多少会导致UI发生变化。现在借助TouchDelegate我可以更方便的修正这个bug,并且无需改动UI。 使用TouchDe
2013-06-20 22:46:38
6593
3
原创 Android多屏幕适配学习笔记
我所在公司的产品以硬件为主,软件跟着特定的硬件平台走,所以,虽然从事着Android开发,却从来没有处理过多屏幕适配的问题。意识到这个可能成为自己的一个短板,所以在缺乏实践的情况下,先准备点理论知识,聊以慰藉。 1 常用单位 px:pixel //像素 in: inch //英寸 mm : 毫米 p
2013-06-20 18:04:13
20589
1
原创 Android平台Wifi_Direct使用
Wifi_Direct是目前设备间最快的无线数据连接方式,速度可以达到40Mb/s。Google从Android 4.0(ICS)开始支持Wifi_Direct,而三星则更早些就在它自己的设备上支持了Wifi_Direct。几年来,Wifi_Direct的发展一直不温不火,但是目前市面上支持Wifi_Direct的设备并不是很多。 从目前接触过得设备来看,三星I9100的Wi
2013-06-18 14:07:05
11490
原创 REST 学习笔记
之前做一个网盘客户端项目的时候,接触过REST API,对于REST这个东西一直处于知其然,而不知其所以然的状态,所以,今天找了一些资料,做了进一步的了解。 REST的由来和现状: REST中文译名“描述状态转移“,或者”表征状态转移”,是由Roy Fielding博士在2000年,于自己的博士论文中提出来的一个软件架构风格。
2013-06-17 17:01:45
1688
原创 ClassLoader 学习笔记
作为一种即时编译的编程语言,ClassLoader是Java程序运行的基础。虽然,大部分和我一样的攻城狮平时都不需要和ClassLoader打交道,但是相信大家对于ClassNotFoundExecption和NoClassDefFoundError多多少少有些印象。这两个类都和ClassLoader关系密切。 首先,java虚拟机实现了三个类加载器:
2013-06-16 17:38:13
1286
转载 Java中Error和Exception的区别
Error类和Exception类都继承自Throwable类。Error的继承关系:java.lang.Object java.lang.Throwable java.lang.Error Exception的继承关系:java.lang.Objectjava.lang.Throwable java.lang.Excep
2013-06-14 16:48:53
1118
原创 git 指令整理
虽然一直有使用git,但是一直也仅仅是使用了有限的几个命令,最近用两天时间整理了下工作中可能用到的git指令,放在这里作为以后的参考:git工具主要包含以下指令:version configadd // staging(cache)当前修改到 INDEX(暂且理解为缓存区)am // apply + commit, 套用patch并且
2013-06-13 10:56:51
3767
原创 Android中Gif图片的显示
最近闲来无事,折腾了一下关于gif图片在Android上的显示(大家都知道,Android本身不支持gif图片的显示,当然通过Media还是能够实现gif的播放的)。网上找到的实现gif图片展示的主要是两种方式:使用java实现解码,或者使用编辑工具将gif图片拆分为多张图片,并编写xml文件,以帧动画的形式播放,另外还有个牛人,直接修改了Android框架层的源码,让android系统支持gif
2011-09-07 16:28:42
5534
原创 Android 多点手势识别
google提供的API中,有个类,大家都很熟悉,GestureDetector。使用它,我们可以识别用户通常会用的手势。但是,这个类不支持多点触摸(可能google认为没有人会在几个手指都在屏幕上的时候,使用手势吧~),不过,最近和朋友们一起做的一个App,的确用到了多点手势(主要是onScroll和onFling两个手势),所以,我就把这个类拓展了一下,来实现让多个控件各自跟着一跟手指实现拖动
2011-08-19 09:21:11
2554
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人