Android
文章平均质量分 83
zartzwj
这个作者很懒,什么都没留下…
展开
-
Android通讯录数据获取
读取通讯录有两种方式,一种方式是参照上篇文章关于android通讯录的数据库表来获取,另一种就是利用系统自带的一种读取通讯录的方式。先使用后一种简单的方式:这是获取手机通讯录中的信息。可以根据Phone中对应的字段名区分是哪几张表的数据。实际系统在获取这些通讯录的时候,是通过将几张表关联查询得到的。 /** * 获取所有手机里的通讯录 */ priva原创 2012-11-10 19:25:05 · 2034 阅读 · 0 评论 -
Android:复杂数据模型的传递
,发现都大同小异,缺少我想要看到的地方。所以我打算做一下这方面的探讨。 有时候在团队开发的时候,我们会考虑创建一些复杂(包含的数据类型有多种)的Model,方便在数据上的传输和处理。一些关于android中对于这类model的传递,一般都是实现Parcelable或者是Serializable这两个接口,这两个接口有一些不同,Serializable接口一般只做一些简单的数据类型传递,而Parcelable可以实现很多复杂的情况,比如Parcelable中嵌套了图片,实现了Parcelable2011-07-31 22:39:07 · 149 阅读 · 0 评论 -
Android:getDrawingCache() = null的解决方法
2011-06-20 22:23:57 · 434 阅读 · 0 评论 -
Android:将View的内容映射成Bitmap
r的背景。所以就做了一些尝试,不过还有一些遗漏的小问题。 在Android中自有获取view中的cache内容,然后将内容转换成bitmap,方法名是:getDrawingCache(),返回结果为Bitmap,但是刚开始使用的时候,得到的结果都是null,所以在一个论坛里查到了正确的使用方法.代码如下: contentLayout.setDrawingCacheEnabled(true); contentLayout.measure( MeasureSpec.make2011-06-19 20:23:28 · 97 阅读 · 0 评论 -
Android Application类详解
1:Application是什么? Application和Activity,Service一样,是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Applicati转载 2014-11-16 22:12:00 · 772 阅读 · 0 评论 -
关于Zaker图片启动页面的效果实现
一直用Zaker看新闻,觉得Zaker的设计非常简洁明了。原创 2014-09-28 17:45:24 · 1164 阅读 · 0 评论 -
ViewHolder的简洁写法
通常ViewHolder的写法如下: ViewHolder holder = null; if(convertView == null){ convertView = mInflater.inflate(R.layout.xxx null); holder = new ViewHolder();转载 2014-08-26 23:22:29 · 858 阅读 · 0 评论 -
性能优化:使用SparseArray代替HashMap<Integer,Object>
HashMap是java里比较常用的一个集合类,我比较习惯用来缓存一些处理后的结果。最近在做一个Android项目,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个 performance 警告。 意思就是说用SparseArray来替代,以获取更好性能。老实说,对SparseArray并不熟悉,第一感觉应该是Android提供的一个类。按住Ctrl点击进入SparseA转载 2014-08-26 22:52:09 · 540 阅读 · 0 评论 -
Activity绑定Service:Binder和Messenger
在android中绑定Service有三种方式: 1、继承Binder; 2、使用Messenger; 3、AIDL 在另外一篇专门说明AIDL中已经详细的说明了AIDL的使用方法,这里就只说明前两种:Binder和Messenger。一、继承BInder 这种方式局限于本地应用使用,不需要跨进程的通信。原创 2014-03-18 14:57:39 · 621 阅读 · 0 评论 -
关于Android中onMeasure方法
首先,我们来了解Android是如何绘制页面的view的。一、Android中View的绘制过程 Android的页面结构是一个树状结构,所以在绘制的过程是按根节点开始逐级绘制的,在绘制每个节点,也就是每个View的时候,需要完成两个计算:测量Measure和布局Layout。对应的方法就是measure(int widthMeasureSpec, int heightM原创 2014-03-17 17:55:01 · 657 阅读 · 0 评论 -
android AIDL
android的AIDL就是Android Interface definition language的缩写,用于在android内部进程间通信。1、首先创建一个以.aidl为文件结尾的文件。里面的forActivity.aidl和forAervice.aidl就是两个aidl文件,两个文件代表的意思为:forAcitivty:由Service进程回调到Activity所在的主进程原创 2013-12-02 15:18:50 · 638 阅读 · 0 评论 -
关于Service中的耗时操作
由于Service和Broadcast一样,都运行在主线程中,所以在这两个里面我们无法做一些长时间的耗时操作,也就是说,如果我们有一个后台服务,是每隔一段时间请求一次服务器,类似于心跳服务,只是没有心跳服务那么频繁,例如每2个小时执行一次连接服务器操作,这样的话,我们的应用可能已经退出了,而我们仍需要这个服务时开启的,这种情况,我们第一反应是让Service运行在一个独立的进程中,这一点是可以做到原创 2014-03-09 21:48:55 · 7185 阅读 · 0 评论 -
闹钟管理器AlarmManager(整理)
在Android中,可以使用闹钟管理器来触发事件,包括广播BroadcastReceiver,服务Service和活动Activity。这些事件可以在特定的时刻或者以固定的时间间隔来触发。 使用闹钟管理器一般有以下几个步骤: 1、获取到闹钟管理器的服务,即AlarmManager; 2、确定设置闹钟的时刻; 3、创建要调用的接收原创 2014-03-12 16:27:27 · 1208 阅读 · 0 评论 -
AsyncTask的一些问题
最近看书《Pro Android 4》的时候,看到书里面对AsyncTask的一个介绍,里面提到了AsyncTask的性质,在不同的系统版本中,其其实不是一个并发的线程任务。为了验证上面的过程,特地在手机上测试了,对应的测试手机系统版本是4.2,。 书中这样介绍,当两个AsyncTask执行的时候,是先执行第一个任务,然后再第一个任务结束后,再开启新的线程来执行第二个。代码和运行原创 2014-02-27 15:09:52 · 785 阅读 · 0 评论 -
Android的通讯录数据库表结构
最近在做一个项目,里面涉及到系统通讯录的问题,就做了一天多的尝试,也查看了一些网上的文章,做了简单的总结。 android的通讯录数据库存放在/data/data/com.android.contact.provider/contacts2.db中。这里面的几张表是有关系的:data,contacts,groups,mimetypes,raw_contacts.这五张原创 2012-11-10 17:45:13 · 3476 阅读 · 0 评论 -
android AIDL
2013-12-02 15:18:00 · 119 阅读 · 0 评论