<Android API Guide学习记录> -- Activities

http://developer.android.com/guide/components/activities.html


Activity是一个应用组件,它提供与用户进行交互的屏幕。每个Activity都有一个可以绘制UI的Window,这个Window通常是充满屏幕的,但是有时也可能比屏幕小,漂浮在其他windows上面。


intent-filter


如果要使用一个Activity,就必须要在manifest文件中进行声明,在<application>元素中添加一个<activity>元素,<activity>元素中唯一一个必须要求的属性是"android:name"。<activity>元素可以通过设置<intent-filter>元素指定不同的intent filters,通过它可以控制其他应用组件怎么激活这个Activity。

<activity android:name=".ExampleActivity" android:icon="@drawable/app_icon">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
上面的示例中,<action>指定了这个Activity是应用的主入口,<category>指定这个activity应该在系统的launcher中显示(允许这个activity可以被用户加载)。

如果添加的Activity只是被内部使用,就不需要设置任何的intent-fiter。应用中应该只有一个activity设置"main" action和"launcher" category,另外其他不希望被其他应用启动的activity不需要设置intent-filter。但是,如果希望Activity可以被隐式intent调用,就必须要设置额外的intent filters。对于每种动作类型的intent,在<activity>中都需要添加一个包含有<action>的<intent-filter>,<intent-filter>中还可以选择性添加一个<category>元素和/或一个<data>element。这些元素决定当前的Activity可以回应哪些类型的intent。

lifecycle


Coordination activities

当一个activity启动另外一个activity的时候,他们会同时经历lifecycle的变迁。第一个activity暂停并且停止时,同时第二个activity会被创建。对于那些会共享存在磁盘或其他地方数据的activities,知道当第二个activity创建的时候第一个activity并没有停止很重要。也就是说,创建第二个activity的时间段会和停止第一个activity的时间段之间有重叠。
lifecycle的callback调用顺序是被定义好的,下面是当activity A启动activity B的时候,这些调用的发生的顺序:
1. A的onPause()方法执行
2. B的onCreate(), onStart(), 和 onResume方法按顺序执行
3. 如果A变得在屏幕上不可见,A的onStop()方法被调用


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值