用Eclipse开发和调试Android应用程序(2)

Activity 生命周期

Activity中常用的函数有SetContentView() findViewById() finish() startActivity(),其生命周期涉及的函数有:

void onCreate(Bundle savedInstanceState)

void onStart()

void onRestart()

void onResume()

void onPause()

void onStop()

void onDestroy()

用Eclipse开发和调试Android应用程序

 

注意的是,Activity的使用需要在Manifest文件中添加相应的,并设置其属性和intent-filter。

Service 生命周期

Service可以通过Context.startService()或Context.bindService()创建,通过Context.stopService()、Service.stopSelf()、Service.stopSelfResult()或Context.unbindService()来关闭。其生命周期涉及的函数有:

void onCreate()

void onStart(Intent intent)

void onDestroy()

其中onCreate()和onDestroy()可以被所有服务调用,无论是由Context.startService()还是Context.bindService()发起的Service。但是,onStart()只能被由startService()发起的Service调用。

如果一个Service运行其它对象绑定它,需要扩展如下callback方法:

IBinder onBind(Intent intent)

boolean onUnbind(Intent intent)

void onRebind(Intent intent)

用Eclipse开发和调试Android应用程序

 

BroadcastReceiver 生命周期

只包含一个方法:void onReceive(Context curContext, Intent broadcastMsg)

包含活动的组件的BroadcastReceiver将不会被系统关闭,但是仅包含不活动的组件的进程将随时会背系统关闭(当其它组建需要内存时)。

3. Intent 简介—— Android 的创新导航与触发机制

前文介绍了Android的四项一等公民:Activity(活动)、ContentProvider(内容提供程序)、BroadcastReceiver(广播接收器)与Service(服务)。这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的Android应用。

在这些组件之间的通讯中,主要是由Intent协助完成的。Intent是Android应用开发里很重要的一个元件,通过Intent可以从一个Activity来启动另一个任意的Activity,不管是自己定义的还是系统定义的。在ActivityGroup(extends Activity)里面,Intent的flag设置对于子Activity的启动方式至关重要。

Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。

因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。

Android应用程序框架的强大之处在于它将Web习惯引入到移动应用程序中。这并不意味着该平台提供了一个强大的浏览器,也不仅限于使用 JavaScript和服务器端资源,而是涉及Android平台的工作原理以及该平台的用户如何与移动设备交互这一核心问题。互联网的强大之处一言以蔽之,在于一切事物通过一次单击即可获得。这些单击的内容对于用户来说就是URL(UniformResource Locator,统一资源定位符)或URI(Uniform Resource Identifier,统一资源标识符)。有效使用URI可帮助用户方便快捷地访问所需的日常信息。“把链接发给我”就说明了一切。

在移动设备上复制桌面设备体验的平台只能吸引一小部分忠实的用户。多级菜单、多次单击在移动市场中通常都不被人所接受。移动应用程序对直观易用的要求比其他任何市场中的应用程序都要高。Intent和IntentFilter将“单击”范例引入到了Android平台移动应用程序使用和开发的核心中。

Intent 结构

Intent是执行某操作的一个抽象描述,它描述了如下内容:

首先, 要执行的动作(action)的一个简要描述,如VIEW_ACTION(查看)、EDIT_ACTION(修改)等,Android为我们定义了一套标准动作:

MAIN_ACTION

VIEW_ACTION

EDIT_ACTION

PICK_ACTION

GET_CONTENT_ACTION

DIAL_ACTION

CALL_ACTION

SENDTO_ACTION

ANSWER_ACTION

INSERT_ACTION

DELETE_ACTION

RUN_ACTION

LOGIN_ACTION

CLEAR_CREDENTIALS_ACTION

SYNC_ACTION

PICK_ACTIVITY_ACTION

WEB_SEARCH_ACTION

此外,我们还可以根据应用的需要,定义我们自己的动作,并可定义相应的Activity来处理我们的自定义动作。

其次, 执行动作要操作的数据(data),Android中采用指向数据的一个URI来表示,如在联系人应用中,一个指向某联系人的URI可能为:content://contacts/1。这种URI表示,通过 ContentURI这个类来描述,具体可以参考android.net.ContentURI类的文档。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwfdxf.html