摘要: 一般读取APK的图标可以用,PackageManager里面的getApplicationIcon(ApplicationInfo)来得到一个drawable。但实际使用的时候经常只能得到一个默认的图标,根本不是APK的图标。 然后,网上就有人说这个方法是骗人的,并且提出了一些用反射来实现的。类似这样的方法,http://www.devdiv.com/thread-50949-1-1.html,还是比较复杂的。主要是用到了反射,调用多的话,效率可想而知。 今天突然想到小米的文件浏览器是开源的,所以果断看了一下里面的代码,找到读APK图标的地方,方法很简单,根本不用反射这么麻烦。 ... 阅读全文
posted @ 2012-04-25 15:24 holmes Zhang 阅读(7752) 评论(3) 推荐(4) 编辑
摘要: 关于onInterceptTouchEvent和onTouchEvent的一般问题可以查看。http://www.cnblogs.com/3dant/archive/2011/12/14/2287508.html。今天在扩展以前写的一个滑动ViewGroup时,发现以前写的代码不能正常工作了。主要体现在ViewGroup,在onInterceptTouchEvent返回false之后,继续执行ViewGroup里面的onTouchEvent。如果按照上面连接的说明。onInterceptTouchEvent返回false后,是不应该执行viewgorup里面的onTouchEvent的。然后不 阅读全文
posted @ 2012-02-20 16:51 holmes Zhang 阅读(2624) 评论(0) 推荐(0) 编辑
摘要: 刚看了SQLITE不支持SQL里的TOP语句,只有LIMIT。所以想写个东西看看效果。 最简单想到的当然还是联系人列表。顺便还可以试试LIMIT可不可以在android系统的那些contentprovider里面用。 最后要达到的效果就是,一开始载入20条联系人。当listview滚到底后,再载入新的20联系人。一直到载入完所有联系人列表。好吧直接上代码: 1 public class DynamicLoadContact extends Activity implements OnScrollListener{ 2 3 private Activity thisIn... 阅读全文
posted @ 2011-12-23 17:36 holmes Zhang 阅读(1464) 评论(0) 推荐(1) 编辑
摘要: 一篇对理解onInterceptTouchEvent和onTouchEvent,很好的文章。先转了,免得忘记了。 原文:http://blog.csdn.net/ddna/article/details/5473293 onInterceptTouchEvent()是ViewGroup的一个方法,目的是在系统向该ViewGroup及其各个childView触发onTouchEvent()之前对相关事件进行一次拦截,Android这么设计的想法也很好理解,由于ViewGroup会包含若干childView,因此需要能够统一监控各种touch事件的机会,因此纯粹的不能包含子view的控件是没有.. 阅读全文
posted @ 2011-12-14 14:03 holmes Zhang 阅读(698) 评论(0) 推荐(0) 编辑
摘要: 正准备将android的开发环境移至ubuntu下,因为相对来说linux对android还有些好处的。比如去玩内核或相关的东西。当然先去下载一个Sun的JDK(现在应该叫oracle的JDK,不过感觉还是SUN更明白)。下一个自解压的bin包,安装就是了。安装完后就会在安装包的目录下生成一个jdk的文件夹,这就是jdk。然后同样设置环境变量,方法很多。我就直接改 /etc/profile。再就是将我们装好的SUN JDK装到系统里,sudo update-alternatives --install /usr/bin/java java ~/java/jdk1.6.0_27/bin/java 阅读全文
posted @ 2011-09-01 11:15 holmes Zhang 阅读(3604) 评论(0) 推荐(0) 编辑
摘要: 本文的方法来自此处:http://daniel-codes.blogspot.com/2010/07/how-to-change-listview-rows-background.html只说明一下用法:建立一个drawable的XML文件,当然放在drawable文件夹下,比如保存文件为bg_list_item.xml输入以下代码:<?xml version="1.0" encoding="UTF-8"?><selector xmlns:android="http://schemas.android.com/apk/res/ 阅读全文
posted @ 2011-07-23 18:37 holmes Zhang 阅读(7128) 评论(0) 推荐(0) 编辑
摘要: 今天看到论坛上有人问这个。估计是要搞一个类似下载软件的东西吧。 所以就有了本篇,原理: 处理线程先给handler发消息,消息中包括进度信息,handler在去更改List的Adapter里面的信息,并通知List更新UI。 原理很简单,就直接上码了:package hol.test.listprogress;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import android.app.Activity;import android.content.Context;import and. 阅读全文
posted @ 2011-05-17 13:03 holmes Zhang 阅读(3640) 评论(1) 推荐(0) 编辑
摘要: 一般的ProgressBar都只是一个光光的条(这里说的都是水平进度条),虽然比不用进度条时给用户的感觉要好,但是如果在形像化的东西上面再加上点文字,将进度描述量化,就可以让用户更加明白当前进度是多少了。 有了需求,就可以开始实现了。 这里的原理就是继承一个ProgressBar,然后重写里面的onDraw()方法。 不多说,直接上码。(下面代码中的packagehol.test;,import就不写了) public class MyProgress extends ProgressBar{ String text; Paint mPaint; public MyProgress(Cont. 阅读全文
posted @ 2011-04-25 10:02 holmes Zhang 阅读(68135) 评论(9) 推荐(0) 编辑
摘要: 这些天用到了ListView,由于要用到ImageView,且图片源不是在资源里面的,也就没法用到ID了,也就不能用SimpleAdapter之类的了。只能自己改写一个Adapter,直接继承BaseAdapter。由于一开始只是在网上看了一下如何写getView这个方法,根本没有去进一步理解各个参数的含义(当然现在也没有全理解。。。),一样一来,运行没问题了,ListView里面数据也有了,结果来了个Bug,滚动的时候有些地方会重复前面出现过的图片(或者说是第一页出现去的图片)。正常情况下的getView方法体publicViewgetView(intposition,Viewconve.. 阅读全文
posted @ 2011-04-06 17:32 holmes Zhang 阅读(17558) 评论(3) 推荐(0) 编辑
摘要: 这次主要要做的就是根据姓名来查找电话,并且加强对通讯录的理解。  以前做一些用到数据库的东西的时候,可能光看代码也是不好联系起各个数据之间的关系,所以我先想到的还是数据库。幸运的是,它还真是一个数据库。  Android里面内置的是SQLite的数据库,虽然对数据库不怎么了解,但关系型数据库,基本操作也就那些,而且基本都一样,所以就直接用呗。用命令行下的adb shell进入Android的模拟器,进入data/data目录下面,这里面就是安装的一些应用程序。找啊找,里面有一个com.android.providers.contacts,怎么看都是一个通讯录相关的程序,进入这个目录下,里面有一 阅读全文
posted @ 2010-12-12 23:31 holmes Zhang 阅读(10229) 评论(5) 推荐(1) 编辑