![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android开发
madsky007
这个作者很懒,什么都没留下…
展开
-
Android开发中遇到读取数据库中的短信问题
系统数据库中找到mmssms.db 想要访问其中的表threads 。 因为自己直接读写SQLite数据库,代码很复杂,所以想要借助ContentProvider来访问。 但是无法找到对应的URI。比如联系人可以用URI:content://contacts/people 。经过多次尝试,发现可以用content://sms来访问所有短信,但我的目的是要访问threads表中的数据。 ////////////////我是分割线////////////////////////////原创 2010-07-20 17:18:00 · 3194 阅读 · 0 评论 -
如何用intent调用android系统程序打开指定图片
<br /> 先从SDcard上获得图片路径chosenPicFile,再发送Intent:<br /> Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse("file://"+chosenPicFile), "image/*"); // intent.setData(Uri.parse("file://"+chosenPicFile)); // in原创 2011-01-18 15:39:00 · 8886 阅读 · 2 评论 -
Handler Looper HandlerThread
<br />Handler提供了一种消息机制用于线程间的通信。 <br />默认情况下,Handler是运行在和创建它的线程同一个线程里的。Looper的机制可以改变这一点,通过在构造函数出传递一个looper,可以指定handler在和looper相同线程中执行。 <br /><br />1.可以在线程中调用 Looper.prepare(); Looper.myLooper() 得到一个当前线程的 looper。 <br /><br />2.Looper.getMainLooper(); 可以得到主线程转载 2010-11-01 16:37:00 · 1008 阅读 · 0 评论 -
深入学习android之任务与堆栈
<br /> 一个任务其实就是一个Activity的堆栈。 也是用户感知到的“一个应用”。<br /> 默认情况下,一个应用程序中的Activity倾向于属于同一个任务。但是可以通过设置tackAffinity属性,使不同应用程序的Activity享有同一个Affinity,或者同一个程序的Activity有不同的Affinity。设置了Affinity后,还需要在以下两种情况下,才能实现。一:启动Activity的Intent对象包含了FLAG_ACTIVITY_NEW_TASK标记。二:当Acti原创 2010-11-01 16:13:00 · 809 阅读 · 0 评论 -
深入学习android之Intent
<br /> 对于Intent之前虽然用的比较多,但仅限于setClass或setClassName等,没有深入研究过。所以有必要深入学习下。<br /> 使用Intent的时候有两种情况:<br /> 一种是直接Intent:指定了component或者于setClass或setClassName。这种Intent,android不需要解析,直接找到目标并激活。<br /> 另一种是间接Intent:没有指定component。这些Intent就需要包含很多信息。Intent解析的机制就是原创 2010-10-26 16:56:00 · 984 阅读 · 0 评论 -
深入学习android之AlarmManager
<br /> 对应AlarmManage有一个AlarmManagerServie服务程序,该服务程序才是正真提供闹铃服务的,它主要维护应用程序注册下来的各类闹铃并适时的设置即将触发的闹铃给闹铃设备(在系统中,linux实现的设备名为”/dev/alarm”),并且一直监听闹铃设备,一旦有闹铃触发或者是闹铃事件发生,AlarmManagerServie服务程序就会遍历闹铃列表找到相应的注册闹铃并发出广播。该服务程序在系统启动时被系统服务程序system_service启动并初始化闹铃设备(/dev原创 2010-10-27 17:21:00 · 3455 阅读 · 2 评论 -
AsyncTask对比Thread加Handler
<br /> 很多网友可能发现Android平台很多应用使用的都是AsyncTask,而并非Thread和Handler去更新UI,这里Android123给大家说下他们到底有什么区别,我们平时应该使用哪种解决方案。从Android 1.5开始系统将AsyncTask引入到android.os包中,过去在很早1.1和1.0 SDK时其实官方将其命名为UserTask,其内部是JDK 1.5开始新增的concurrent库,做过J2EE的网友可能明白并发库效率和强大性,比Java原始的Thre转载 2010-10-21 15:15:00 · 538 阅读 · 0 评论 -
android如何截获拨号
<br /> 用户在系统的拨号应用中输入完号码并且按拨号键后,还没真正拨出去前,我想作一些操作。比如修改号码或者检查权限。<br /> 思考了很久,觉得系统的拨号动作应该还是发送一个intent,理论上是可以截获的。 终于,在开源工程sipUA中看到了方法。如下:<br /> 首先,仔细看看API中关于intent.ACTION_NEW_OUTGOING_CALL的描述。写得很多很详细,节选一部分“You must hold the PROCESS_OUTGOING_CALLS pe原创 2010-12-07 15:34:00 · 1653 阅读 · 0 评论 -
动态改变RelativeLayout中元素在RelativeLayout中的布局
<br /> 此方法不是很直接,不过没有发现更简单的方法。<br /> 首先在JAVA程序中取到RelativeLayout中要改变其布局的元素,比如一个LinearLayout 叫做view1。 然后new一个RelativeLayout.LayoutParams。 构造器的参数为view1的长和宽。 RelativeLayout.LayoutParams的addRule方法,加入要改成的布局,比如RelativeLayout.ALIGN_PARENT_TOP。 最后view1.setLa原创 2010-12-03 16:34:00 · 8471 阅读 · 0 评论 -
Android的短信批量处理,删除前还要查询是否锁定状态
<br /> 系统貌似只提供了单个删除和全部删除,如果要多个选择并删除就需要查询多个对话中是否有被锁定状态的短信。真麻烦啊!!!!原创 2010-07-22 14:07:00 · 1561 阅读 · 0 评论 -
Android的ListView和checkbox的问题
<br />ListView中的getChildCount()并不总是等于ListAdapter中的数据行数。当手机一屏显示不了所有数据时(需要翻页),getChildCount()就等于手机一屏幕所显示的行数,小于ListAdapter中的数据行数。而ListView的getCount()是与ListAdapter中的数据行数相同。<br />当光标下移到屏幕最底部,新显示出来的View,最初的3个(不知道为什么是3个),在Adapter中调用getView(int position, View conv原创 2010-07-21 16:03:00 · 1950 阅读 · 3 评论 -
service中的线程
<br /> 以android2.2自带的ApiDemos工程中的ServiceStartArguments为例。<br /> 在内部类Controller的onCreate和ServiceStartArguments的onCreate. onStartCommand.还有内部类ServiceHandler的handleMessage方法中打印log." Log.i("xxxx",String.valueOf(Thread.currentThread().getId()));"<br />原创 2010-11-24 11:27:00 · 927 阅读 · 0 评论