android 应用五大核心组件之二(Activity)
2013-12-10 14:16
417 查看
[b]概述[/b]
Activities 是一个程序的组件之一。它的主要功能是提供界面。
一个程序一般由多个Activity组成,各activities之间关系很松散,它们之间没有直接的关联。必须有一个activity被指定为主activity,它是程序启动时首先显示的界面。每个activity都可以随意启动其它的activity。每当一个activity被启动,则前一个activity就被停止。一个程序中的所有启动的activity都被放在一个栈中,所以被停止的activity并没有销毁,而在存于棧中。新启动的activity先被存放于栈中,然后获得输入焦点。在当前活动的activity上点返回键,它被从棧中取出,然后销毁,然后上一个activity被恢复。
当一个activity因为新的activity启动而被停止时,它会收到状态变化的通知,这样的变化有多个,每个都会引起系统调用一个相应的回调方法以通知activity,这些回调方法被统称为“生命周期回调方法”。这些回调方法分别在Activity被创建、停止、恢复、销毁时被调用。
View Code
此例子展示了在onActivityResult()中的基本逻辑流程。首选检查所启动的Activity是否正确运行,resultCode为Activity.RESULT_OK表示正常,其次,查看requestCode是否与当时请求的一致,即是否为PICK_CONTACT_REQUEST。都通过后,开始操作返回的数据,也就是data参数。
Data是这样处理的,用ContentResolver向内容提供者发出请求,这个请求会返回一个游标,通过这个游标读取数据,这很像数据库表的操作。要理解此处,请查阅Content Providers一节。
[b]关闭Activity[/b]
Activity可以内部调用finish()方法关闭它自己,也可以调用finishActivity()方法关闭其它的activity。
注意:大多数情况下,你不应主动结束一个activity。系统掌管着activity的生命,所以你也不必结束自己的activity。使用上述方法会破坏用户体验。除非你觉得很必要时,否则就不要做!
Activities 是一个程序的组件之一。它的主要功能是提供界面。
一个程序一般由多个Activity组成,各activities之间关系很松散,它们之间没有直接的关联。必须有一个activity被指定为主activity,它是程序启动时首先显示的界面。每个activity都可以随意启动其它的activity。每当一个activity被启动,则前一个activity就被停止。一个程序中的所有启动的activity都被放在一个栈中,所以被停止的activity并没有销毁,而在存于棧中。新启动的activity先被存放于栈中,然后获得输入焦点。在当前活动的activity上点返回键,它被从棧中取出,然后销毁,然后上一个activity被恢复。
当一个activity因为新的activity启动而被停止时,它会收到状态变化的通知,这样的变化有多个,每个都会引起系统调用一个相应的回调方法以通知activity,这些回调方法被统称为“生命周期回调方法”。这些回调方法分别在Activity被创建、停止、恢复、销毁时被调用。
private void pickContact() { Intent intent =new Intent(Intent.ACTION_PICK,Contacts.CONTENT_URI); startActivityForResult(intent, PICK_CONTACT_REQUEST); } @Override protected void onActivityResult(int requestCode, intresultCode, Intent data) { if (resultCode== Activity.RESULT_OK && requestCode == PICK_CONTACT_REQUEST) { //....doing thing } }
View Code
此例子展示了在onActivityResult()中的基本逻辑流程。首选检查所启动的Activity是否正确运行,resultCode为Activity.RESULT_OK表示正常,其次,查看requestCode是否与当时请求的一致,即是否为PICK_CONTACT_REQUEST。都通过后,开始操作返回的数据,也就是data参数。
Data是这样处理的,用ContentResolver向内容提供者发出请求,这个请求会返回一个游标,通过这个游标读取数据,这很像数据库表的操作。要理解此处,请查阅Content Providers一节。
[b]关闭Activity[/b]
Activity可以内部调用finish()方法关闭它自己,也可以调用finishActivity()方法关闭其它的activity。
注意:大多数情况下,你不应主动结束一个activity。系统掌管着activity的生命,所以你也不必结束自己的activity。使用上述方法会破坏用户体验。除非你觉得很必要时,否则就不要做!
相关文章推荐
- Android核心技术之(2)---四大应用组件之Activity
- android 应用五大核心组件之一(service)
- android 应用五大核心组件之三(Intent)
- android 应用五大核心组件之五(ContentProvider)
- android 应用五大核心组件之四(BroadcastReceiver)
- Android四大组件---Activity之启动模式及启动模式的应用场景
- Android 四大核心组件之Activity[生命周期篇]
- Android应用开发——Activity组件
- Android学习之核心组件Activity的生命周期
- android核心组件Activity的跳转
- 【媒体应用:Android平台Vitamio播放器探索之路系列】之二:Vitamio API:核心类
- 01 Android应用的构成 四大组件 Activity, Intent Receiver , Service , Content Provider
- Android应用中的核心组件
- Android开发之路——四大核心组件1 Activity(1)生命周期
- 01 Android应用的构成 四大组件 Activity, Intent Receiver , Service , Content Provider
- Android核心基础-8.Android四大组件之Activity-1.创建、启动
- 关于android核心组件Activity的一些总结
- Android应用组件之Activity介绍3
- android五大组件之activity生命周期(LifeCycle)
- Android核心分析(22)-----Android应用框架之Activity