2011年12月31日

Android开发指南中文版(七)Content Providers

摘要: Content Providers Content provider存储和检索数据并使得所有应用程序可以轻松的使用数据。这是应用程序之间分享数据的唯一途径;没有普通的存储区使得所有Android包可以通过。 Android使用很多content provider来运送普通数据类型(audio, video, images,个人通讯信息等)。你可从android.provider包中找到它们。你可... 阅读全文

posted @ 2011-12-31 17:53 蓝风笨笨 阅读(826) 评论(0) 推荐(0) 编辑

Android开发指南中文版(六)Bound Services

摘要: Bound Servicesbound service在客户端-服务器接口中作为服务器。一个bound service允许组件(比如activity)绑定到service,发送请求,接收响应,甚至执行进程间通信(IPC)。一个bound service通常在为其他程序组件服务时才存在并且不会无限期的在后台运行。这个文档将显示如何创建一个bound service,包括如何绑定到其他应用程序的service。基本原理一个bound service是一个Servcie类的实现,它允许其他应用程序绑定到它上面并与之交互。为了为service提供绑定,你必须实现onBind()回调函数。这个函数返回一 阅读全文

posted @ 2011-12-31 10:49 蓝风笨笨 阅读(438) 评论(0) 推荐(0) 编辑

2011年12月30日

Android开发指南中文版(五)Service

摘要: Services Service是一个可以在后台执行长时间操作的程序组件,它不提供用户接口。一个应用程序可以启动一个service,即使用户切换到其它应用程序,它也会继续在后台运行。此外一个组件可以绑定到一个service来与它交互甚至是用户进程之间的通信(IPC)。比如说,一个service或许处理网络事务,播放音乐,执行文件I/O或者与一个content provider相互作用,所有的都在后... 阅读全文

posted @ 2011-12-30 17:12 蓝风笨笨 阅读(640) 评论(0) 推荐(0) 编辑

2011年12月27日

handler使用(二)

摘要: HandlerThread类实现了Looper的循环处理消息的功能package mars.handler;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.HandlerThread;import android.os.Looper;import android.os.Message;public class HandlerTest2 extends Activity { @Override protected void onCreate(Bundl 阅读全文

posted @ 2011-12-27 14:26 蓝风笨笨 阅读(194) 评论(0) 推荐(0) 编辑

handler使用(一)

摘要: 一、Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI.解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button, Android会分发事件到Button上,来响应你的操作。 如果此时需要一个耗时的操作,例如: 联网读取数据,或者读取本地较大的一个文件的... 阅读全文

posted @ 2011-12-27 14:03 蓝风笨笨 阅读(374) 评论(0) 推荐(0) 编辑

Android消息处理(二)进程间通信

摘要: 使用Handler+Message的方式进行通信,都是在同一个进程中,从线程持有一个主线程的Handler对象,并向主线程发送消息。而Android既然可以使用bindler机制进行跨进行通信,所以我们当然可以将Handler与bindler结合起来进行跨进程发送消息。Messenger:信使官方文档解释:它引用了一个Handler对象,以便others能够向它发送消息(使用mMessenger.send(Message msg)方法)。该类允许跨进程间基于Message的通信(即两个进程间可以通过Message进行通信),在服务端使用Handler创建一个Messenger,客户端持有这个M 阅读全文

posted @ 2011-12-27 12:05 蓝风笨笨 阅读(409) 评论(0) 推荐(0) 编辑

Android消息处理(一)进程内通信

摘要: Android通过Looper、Handler来实现消息循环机制,它是针对线程的(每个线程都可以有自己的消息队列和消息循环). Android系统中Looper负责管理线程的消息队列和消息循环。可以通过Loop.myLooper()得到当前线程的Looper对象,通过Loop.getMainLooper()可以获得当前进程的主线程的 Looper对象。 前面提到Android系统的消息队列和消息循... 阅读全文

posted @ 2011-12-27 10:49 蓝风笨笨 阅读(846) 评论(0) 推荐(0) 编辑

2011年12月26日

Android如何关闭Application

摘要: 程序启动后,先执行Application.onCreate(),再执行Activity.onCreate()。如果没有生成自己的Application,那么系统会为你自动生成一个。退出程序时我们一般只调用finish()函数杀死当前Activity,Application退到幕后,由系统自动维护。再次启动程序时就不会执行Application.onCreate(),而是直接执行Activity.o... 阅读全文

posted @ 2011-12-26 15:42 蓝风笨笨 阅读(5459) 评论(0) 推荐(0) 编辑

2011年12月22日

Android开发指南中文版(四)Processes and Threads

摘要: 如果某个应用程序组件是第一次被启动,且这时应用程序也没有其他组件在运行,则Android系统会为应用程序创建一个包含单个线程的linux进程。默认情况下,同一个应用程序的所有组件都运行在同一个进程和线程里(叫做“main”主线程)。如果组件启动时,已经存在应用程序的进程了(因为应用程序的其它组件已经在运行了),则此组件会在已有的进程和线程中启动运行。不过,可以指定组件运行在其他进程里,也可以为任何... 阅读全文

posted @ 2011-12-22 15:10 蓝风笨笨 阅读(302) 评论(0) 推荐(0) 编辑

2011年12月21日

Handling affinities

摘要: 密切关系表明了一个activity更愿意属于哪个task。默认的,同一个应用程序的所有的activity相互间有亲和力。因此,默认的,一个应用程序中的activity倾向于位于同一个task中。但是可以修改默认的activity的密切关系。不同的应用程序的activity可以有相同的密切关系,或者是同一应用的不同的activity可以指定不同的任务密切关系。通过修改<activity>元素的taskAffinity默认属性来修改任意给定的activity的密切关系。taskAffinity属性的值为字符串型,必须在<manifest>元素默认包中唯一的名字,因为系统使用 阅读全文

posted @ 2011-12-21 15:31 蓝风笨笨 阅读(286) 评论(0) 推荐(0) 编辑

导航