- 博客(17)
- 收藏
- 关注
原创 SQlite字段类型升级
Insert into table select from **Android中Alter功能提供的比较少,如果需要修改字段类型,则需要1.rename;2、建新表; 3、拷贝数据;4、删除temp表;在代码实现数据库升级过程中会有一些坑。
2015-07-28 14:21:01
1111
原创 Intent匹配原理
上一篇Intent的定义及用法主要介绍了Intent的使用方法。 本着知其所以然的态度,本文从源码角度分析下Intent的机制,发送的Intent是如何找到合适的组件。1、定义的IntentFilter如何读取在系统启动时,PackageManagerService会扫描本机上安装的app,包括/data/app(用户自己安装的app),/system/app(系统预装的app)2、根据Inten
2015-07-28 11:59:07
573
原创 Adapter的getItemViewType返回负值会有什么结果
我们都知道如果自定义的Adapter需要支持多种Type展示,则需要复写getItemViewType和getTypeCount方法。这里需要注意:getItemViewType返回值不能大于等于getTypecount的返回值。否则会发生数组越界。例如getItemViewType返回1和2,而getTypeCount返回值是2,会报错数组越界。发生越界时间点是type==2
2015-04-05 23:20:49
1257
原创 adapter的getView多次执行
为什么多次 getview: 因为Listview设置的高度是wrap_content;onmeasure需要动态计算高度,第一次getchildcount都为0,计算listview 高度;第二次加载数据,getchildcount依次增加;第三次重新measure验证计算是否正确;第四次填充数据。 参考:http://www.cnblogs.com/linjzong
2015-04-05 22:40:39
832
原创 Android打印函数调用栈
Java 获取函数调用栈 RuntimeException here = new RuntimeException("here"); here.fillInStackTrace(); String log = Log.getStackTraceString(here)
2015-03-12 13:45:57
839
原创 自定义ClassLoader
最近在做一个工作,把两个文件合并,Android中的两个R.java文件合并。看到这个需求时,想到两种方法: 1)逐行读文件,根据关键字区分哪些是内部类,哪些是内部类的成员变量;2)通过将.java文件编译并加载,通过反射得到内部类,和成员变量。第二种方法更直接一些,本文记录下编译并加载.java文件的方法和问题。目的:编译并加载磁盘上任意位置的.java文件。实现MyClassloade
2015-03-10 00:01:17
805
转载 一些激励自己的话
出书是写博客的意外产物,是计划之外的,不过也算是了却心愿,以后可以专心地写博客了。下面就简单说一下写博客以来的一些感受,关键字是"梦想"、"学习"、"坚持"、"自信"和"淡定"。1. 梦想。APP刚刚火起来的那阵子,还没接触过移动开发。有一天听说我们的产品经理自己做了个APP,用来订阅自己感兴趣的视频。顿时倍受打击:连产品经理都会做APP了,作为一个码农,怎么还能对移动开发无动于衷呢?!于是就
2014-08-25 13:35:03
987
原创 eclipse下看android support v4源码
转自eclipse下看android support v4源码android本身的源码可以在
2014-08-25 11:03:56
715
原创 Button中默认的padding
Android中button是有默认的padding的,最近发现button中空间很大,但是文字发生了换行,debug发现button默认有padding。 直接上代码。 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
2013-12-24 00:00:00
7112
原创 APK反编译
仅供学习,用于其他用途后果自负。 1、拿到apk文件,将后缀名修改为.zip。 2、解压zip文件得到classes.dex文件 3、将dex文件转成jar文件,使用工具dex2jar;将dex文件放到dex2jar解压出来的目录下,命令行模式下到该目录下,运行dex2jar.bat classes.dex,在该目录下生成了classes_dex2jar.ja
2013-12-09 11:30:48
624
原创 String StringBuffer StringBuilder的区别
不需要过场,就开门见山吧。StringString是不可变的(immutable),一旦String对象被创建,它的值就不会改变。直接上代码public class main { /** * @param args */ public static void main(String[] args) { String a = "hello"; /
2013-12-07 07:02:27
674
转载 Eclipse调试工具之 adb
转自:http://blog.youkuaiyun.com/yihui823/article/details/6686642
2013-12-03 19:20:24
669
原创 eclipse中使用findbugs插件
eclipse中使用到了findbugs插件,自此做个笔记1. 进入helpàinstall new software页面2. Work with添加如下地址:http://findbugs.cs.umd.edu/eclipse-daily,参照后面提示安装插件3. 安装后重启eclipse,build工程后,可选中要检查的java文件,右键Find
2013-12-03 19:04:15
654
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人