- 博客(24)
- 资源 (15)
- 收藏
- 关注
原创 ListView的setOnItemClickListener事件不响应
原因:当ListView的Item中包含CheckBox或Button等时,不会响应setOnItemClickListener事件解决方法:在Item中的子View(CheckBox或Button)的focusable设置为false即可<CheckBox android:id="@+id/checkBox1" android:layout_wid
2013-12-10 15:44:23
793
转载 哈弗曼树的构造
http://patapatapon.blog.163.com/blog/static/2040442392012261186656/
2013-11-27 15:19:27
410
原创 代码学习—继承理解
代码学习—继承理解public class FatherClass { protected String value; public FatherClass(String value){ this.value = value; } public boolean equals(FatherClass father){ System.out.println("FatherClass
2013-11-25 20:55:32
511
转载 ListView中OnTouch与OnItemClick事件共存
如何让ListView同时响应OnTouch与OnItemClick事件onClick是不需要返回值的,而onTouch的返回值是boolean.关于onTouch的返回值,官方解释如下:*This returns a boolean to indicate whether your listener consumes this event. The important t
2013-11-20 19:41:32
4775
转载 LinearLayout中组件右对齐
在LinearLayout中,如果将其定位方向设为横向排列:android:orientation="horizontal",那么这个布局中的控件将自左向右排列。但有时会有这样的情况:行的左边有两个控制的同时,行的右边也有一个控制。如图:这怎么处理呢?我们可以将右边的控件放在另一个LinearLayout中,同时将其对齐方式设为右对齐:android:gravity
2013-11-16 10:26:25
11869
原创 使用adb不识别sqlite3
解决方法:运行模拟器,在/system/xbin 文件夹下找到sqlite3 复制出来1.通过工具直接将sqlite3 push到手机2.通过以下指令#mount -o remount,rw /dev/system/mtdblock6 /system#cp /sdcard/sqlite3 /system/xbin/sqlite3#chmod 755 /system/xbin
2013-11-06 22:39:37
690
原创 Message Handler Looper
一、MessageMessage创建方式有两种,一种是new Message(),开销较大,另外一种是Message.obtain(),使用回收但是没有被释放的message对象,减少开销,有点类似Adapter中的ConvertView与ViewHolder,一般使用Message msg = Handler.obtain(),事实上也是调用Message.Obtain().Ha
2013-11-04 17:22:38
589
原创 查询通讯录-1(数据库结构)
查询通讯录联系人的信息a.系统联系人的数据库保存位置:data/data/com.android.providers.contacts/databases contacts2.dbb.主要包含三张表,contacts,raw_contacts,data可以通过sqlitespy打开查看。contacts表:contacts表中一条记录对应联系人列表中的一个联系人(通过j可能包含多个联
2013-10-29 15:04:44
1152
转载 Unable to chmod sdcard: Read-only file system
模拟器中,sdcard可能是只读的。 在shell命令行中输入adb root切换到root用户然后执行如下命令:(注意,/表示的是根目录,因此这个不仅仅是对sdcard,其他文件也可以读写。rw表示读写权限,mount重挂载文件系统)adb shell mount -o remount rw / 执行完后,可以用mount命
2013-10-21 15:21:44
1757
原创 Hash原理与HashMap
1.背景对于数据集合我们可以使用数组,链表等结构来存储。数组在内存中是一段连续的存储空间,所以当进行删除或者插入操作时,需要对影响到的数据重新前移或者后移,性能较低;而链表内存空间不连续,但是在执行查询操作时,需要逐一遍历结点,性能较低;在大多数情况下,对于数据集合的操作包含了数据存储(put)与数据访问(get),所以需要一种新的结构来提高数据集合存储和访问的效率。2.Has
2013-10-13 16:17:23
600
原创 Java深拷贝与浅拷贝原理
1.什么是深拷贝与浅拷贝何为深拷贝?完全复制一个新的对象,需要申请新的内存空间;浅拷贝,就是仅仅将引用赋值。int a = 3;int b = a;a=4;这是深拷贝,改变a的值不会影响到b;Object x = new Object();Object y = x;浅拷贝,改变x的内容,相当于与改变b的内容,反之亦然。2.决定深浅拷贝的原因Java中实
2013-10-11 00:50:11
1112
1
原创 事件监听器
1.背景类是对象的抽象,是一个特征集,我们会定义一些成员变量和构造函数来体现不同实例之间的差异。比如孩子中会有名字等当然在类中也会有一些成员方法,如孩子们可以玩游戏等。这些都是我们可以根据需求与实际预知并抽象出来的,但是如果有这样一种行为,对象自己无法控制什么时候会发生,如孩子们被告知回家吃饭,然后每个孩子心里所想,做什么我们都无法预知。而这些无法用简单的成员变量去描述。一千个孩子
2013-10-06 22:33:16
852
原创 回调机制
1.回调的概念通俗讲就是Class A去访问Class B的方法b(),目的是为了让Class B能够调用Class A中的方法a(). 而a()对于Class A就是回调函数,这个过程就是回调。为什么ClassA自己不调用a(),而是绕一圈让ClassB调用???2.回调产生原因为什么会有回调,我认为是当A有一些事情要亲自做,但是做的时间是由B来决定。
2013-10-04 23:54:15
457
原创 Android的单线程模型
1.背景Android是单线程模型,在应用程序启动时,Android会启动一个主线程(UI线程),主线程负责与UI相关的事件,如按键,触屏,绘图等。不过仍然可以在UI线程中处理非UI相关的事件,但是这是一件危险的事情,有可能会造成ANR。原因,单线程模型下更新UI是线程安全的,省去了很多逻辑上的处理。(???)2.实例如下图,当点击Button1,执行for(i = 0
2013-10-03 16:08:25
691
原创 Java 父类引用指向子类对象
1.背景面向对象的三大特点,继承,封装,多态。何为多态(Polymorphism)?接口的多种不同的实现方式就是多态(百度百科)。 PC上的一个USB接口,可以插入U盘,可以插鼠标,也可以连接手机,在PC上会有针对这些设备不同的驱动程序以实现连接,也就是谁使用谁去实现。在程序语言中,通过子类继承父类,然后重写覆盖的方法,在创建对象时,将父类的引用指向子类的对象,就可以利用父类引用调
2013-10-01 20:10:55
2540
原创 面向对象设计—开闭原则(OCP)
1.概念面向对象设计的一个原则,开闭原则(OCP)就是说,软件中的模块,类,以及功能,应该能够在不修改现有代码的基础上增加新功能“开”指的是组件功能的扩展是开放的“闭”指的是现有的代码是关闭的实现开闭原则最关键的是“抽象”,就是将系统所有可能的行为抽象成一个抽象底层,然后这个抽象底层提供所有具体实现的方法特征,所以这要求对系统的设计有一定的预见性具有一定的理想主义色彩,是面
2013-10-01 11:54:52
961
原创 Java Synchronized用法1
1.背景Java中需要资源共享,如对象中的一些数据,而数据是私有的,往往通过创建方法去访问这些数据,当多个线程去访问这些数据(调用方法)时,往往会产生冲突,Synchronized可以有效的防止冲突(Thinking in java14.2.2)。2.原理 ()使用Synchronized去修饰方法时,调用此方法的对象将会被“上锁”,此时锁住的是对象,不是代码块或者此方法。eg.
2013-09-28 23:09:45
518
原创 Thread中join用法
1.背景Java支持多线程,CPU分配给线程的时间片是随机的,有时需要控制线程的执行顺序,如执行完threadA再去执行threadB2.用法
2013-09-26 21:50:57
439
原创 如何将android源码导入到eclipse
如何将android源码导入到eclipse1.在android-sdk-windows/platforms/android-8目录下自己新建一个sources文件夹 2.把源码解压到这个文件夹下..sources目录下面就是android java等子目录..重启eclipse.. Note:如果你的eclipse下的android用的是android level 8 ,即a
2012-12-06 16:43:20
422
转载 dp和px,那些不得不吐槽的故事——Android平台图片文字元素单位浅析
原文链接:http://blog.sina.com.cn/s/blog_6499f8f101014ipq.html(请直接跳转到原文)一个优秀的手机软件,不仅要有精巧的功能,流畅的速度,让人赏心悦目的UI也往往是用户选择的重要理由。作为移动产品的PM,也需要了解一些在UI设计中的基本知识。1. px和pt,一对好伙伴在视觉设计中,我们经常会见到以下两个单位: px和磅数
2012-11-16 14:49:41
426
原创 Android帧动画游戏开发—地图与角色
先看运行效果:(截图还是失真)代码结构很乱,主要描述下思路与在这个过程中的收获,希望之后可以借鉴~SurfaceView首先了解下surfaceView /View这两者最大的区别是前者是另开一个新的线程去画图,多用于游戏画面主动更新的,以防止阻塞UI线程,而View是在UI线程更新,用于画面被动更新。这里用的是surfaceView,surface是surface
2012-10-25 21:23:02
1125
1
原创 利用ViewFlipper实现View间的动画效果(平移/渐变...)
先看效果图,gif图做的有点粗糙 下面简单的说一下实现的方法.1.ViewFlipper是继承与FrameLayout的一个子类,所以我们可以理解为在ViewFlipper中的View是一层层“摞”起来的,在布局时,这里可以把它当作FrameLayout使用 <ViewFlipper
2012-10-22 15:42:10
1122
原创 Android自定义Button/ImageButton形状
先看运行效果: 我用的方法有点投机取巧,并没有真正的修改Button的形状,只是视觉上改变了,在使用其他的app时发现,有很多也是“伪”形状。A.首先,要准备两张图片back1.png,back2.png,这是两张背景是透明的图片,简单说下制作方法1.用美图打开源图back.jpg,抠图,自动抠图(挺好用的),保存为.png格式的图片,然后再裁剪一下...(注
2012-10-19 16:13:27
4458
原创 设计模式学习-工厂模式
在学习设计模式之前,首先了解一下多态。1.多态多态,顾名思义,就是多种形态,在面向对象编程里就是指接口的多种不同的实现方式,鸟会飞,飞机也会飞,超人也会飞,同样是飞,变现出的形态却是不一样的,在程序中的体现就是public interface ifly{public abstract void fly();}class plane implements ifly{@
2012-09-20 19:22:51
353
现代操作系统(第三版)中文版.pdf
2013-11-18
Android应用框架原理与程序设计(简中版).pdf
2012-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人