摘要: 1、当触摸屏幕时,最先执行的是Activity中的 publicbooleandispatchTouchEvent(MotionEvent ev) {if(ev.getAction() == MotionEvent.ACTION_DOWN) { onUserInteraction(); }if(getWindow().superDispatchTouchEvent(ev)) {returntrue; }returnonTouchEvent(ev); }如果某些事件无法监测到,可以重写此方法,优先处理ev,然后再调用super.dispatchTouchEvent。2、Activity中的onT 阅读全文
posted @ 2013-06-05 18:44 tanqiantot 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 转自(http://www.starming.com/index.php?action=plugin&v=wave&tpl=union&ac=viewgrouppost&gid=74&tid=20713&pg=1) 随着技术的发展,智能手机硬件配置越来越高,可是它和现在的PC相比,其运算能力,续航能力,存储空间等都还是受到很大的限制,同时用户对手机的体验要求远远高于PC的桌面应用程序。以上理由,足以需要开发人员更加专心去实现和优化你的代码了。选择合适的算法和数据结构永远是开发人员最先应该考虑的事情。同时,我们应该时刻牢记,写出高效代码的两条基本的 阅读全文
posted @ 2013-05-09 14:12 tanqiantot 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1、由于viewpager的每一页都加入一个fragment,对于浏览图片的功能,由于图片数量很大,所以不能使用fragmentpageadapter,否则容易造成内存不足,而是应该采用fragmentstatepageradapter,该pageradapter最多只保存三个fragment,(前后以及当前),使用后会自动销毁,所以占用内存不多,使用于多fragment情况使用,比如图片浏览。2、由于viewpager自带缓存功能,可以通过setOffscreenPageLimit()来设置缓存的页数,但是最少也会缓存一个,即如果设置为0,效果同设置为1相同,此时如果要实现下面的功能,就比较 阅读全文
posted @ 2013-05-03 17:26 tanqiantot 阅读(620) 评论(0) 推荐(0) 编辑
摘要: 在AndroidMenifest.xml中,常常会有下面的语句:<uses-sdkandroid:minSdkVersion="4"android:targetSdkVersion="10"android:maxSdkVersion="10"/>在default.properties中,会看到下面的语句:target=android-10如果是使用Eclipse的话,还可能会看到这样的警告:AttributeminSdkVersion(4)islowerthantheprojecttargetAPIlevel(10)那么, 阅读全文
posted @ 2013-04-25 16:03 tanqiantot 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 在使用button时,经常会用到wrapcontent属性来设置button的大小,这样button的大小就取决于background的图片大小在大多数情况下,背景图片的大小是不可以拉伸放大的,这样如果要增加用户的点击范围,就不能使用button了解决方法如下:使用imagebutton,把背景设置为透明,src设置为图片大小,再增加padding属性增加点击范围即可,例如: <ImageButton android:id="@+id/button_face" android:layout_width="wrap_content" andro... 阅读全文
posted @ 2013-04-15 16:28 tanqiantot 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 一、几个概念1、ppi-pixel per inch,单位长度像素个数。计算方法是宽*宽 + 长*长,然后开方(即对角线的像素个数),然后除以对角线的长度。例如iphone4s:960x640像素,对角线3.5英寸,则ppi=(960*960 +640*640)/ 3.5 = 329.6ppi2、dpi-dolt per inch,单位长度像素点数,感觉和ppi定义类似,其计算方法也一样,可以粗略理解为两者一样,只不过这里一个点代表一个像素。3、dip - density-independent pixel:密度无关像素,其实并不是像素,与pixel有如下转换关系:px = dp * (dip 阅读全文
posted @ 2013-04-09 15:51 tanqiantot 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 1、在使用File file = new File("D:\\a\\hello.txt");时一定要保证目录a存在,否则会抛异常,创建文件夹方法file.mkdirs();2、File.separator可以实现跨平台,例如"D:" + File.separator + "a.txt"; Android中分隔符是/,而windows是\,在windows下需要用转义符\\3、输入流InputStream,其子类如下:AudioInputStream,ByteArrayInputStream,FileInAudioInputStream 阅读全文
posted @ 2013-04-02 15:07 tanqiantot 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 2011-04-09 18:28:41|分类:天天向上|字号订阅pendingIntent字面意义:等待的,未决定的Intent。要得到一个pendingIntent对象,使用方法类的静态方法getActivity(Context, int, Intent, int),getBroadcast(Context, int, Intent, int),getService(Context, int, Intent, int) 分别对应着Intent的3个行为,跳转到一个activity组件、打开一个广播组件和打开一个服务组件。参数有4个,比较重要的事第三个和第一个,其次是第四个和第二个。可以看到, 阅读全文
posted @ 2013-03-28 16:10 tanqiantot 阅读(205) 评论(0) 推荐(0) 编辑
摘要: Java 中深层理解父类引用指向子类对象从对象的内存角度来理解试试.假设现在有一个父类Father,它里面的变量需要占用1M内存.有一个它的子类Son,它里面的变量需要占用0.5M内存.现在通过代码来看看内存的分配情况:Father f = new Father();//系统将分配1M内存.Son s = new Son();//系统将分配1.5M内存!因为子类中有一个隐藏的引用super会指向父类实例,所以在实例化子类之前会先实例化一个父类,也就是说会先执行父类的构造函数.由于s中包含了父类的实例,所以s可以调用父类的方法.Son s1 = s;//s1指向那1.5M的内存.Father f 阅读全文
posted @ 2013-03-27 16:55 tanqiantot 阅读(3037) 评论(0) 推荐(0) 编辑
摘要: 1、在处理触摸事件时,activity首先会调用DispatchTouchEvent, public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { onUserInteraction(); } if (getWindow().superDispatchTouchEvent(ev)) { return true; } return onTouchEvent(ev); }可以看到,该方法会先调用onUse... 阅读全文
posted @ 2013-03-25 14:19 tanqiantot 阅读(1293) 评论(0) 推荐(0) 编辑