Android 示例探究

1. ApiDemos

    manifest.xml 中

    <manifest>(清单)属性package="com.example.android.apis"指明此程序的名称。

           <application> 属性 android:name="ApiDemosApplication"  是一个全局存储器,供各个Activity来共享数据。ApiDemosAppication的onCreate中使用PreferenceManager的setDefaultValues()来加载一个XML文件[即PreferenceManager.setDefaultValues(this, R.xml.default_values, false);]。

                        <activity android:name="ApiDemos">                //程序片断。 
                              <intent-filter>
                                    <action android:name="android.intent.action.MAIN" />
                                    <category android:name="android.intent.category.DEFAULT" />
                                    <category android:name="android.intent.category.LAUNCHER" />
                              </intent-filter>
                         </activity>

                        上述配置代码<activity>的说明action 说明一个行为的名称 , MAIN 表示新片断是Task中的第一个Activitity。

                        android:name = "android.intent.action.MAIN" ,其实它就是 Intent.ACTION_MAIN的值。

                       另外,<activity> 的 android:name 中类名, 是相对于manifest的package属性的,若Activity在package的子包中,则activity的android:name也要带上其前面的部分包名。

                      

 

 

 

 

 Q&A:

1. action 与 category有什么用?

      An intent filter declares the capabilities of its parent component — what an activity or service can do and what types of broadcasts a receiver can handle. 

      即 filter 定义一个 component ( filter 的父标签 ) 的能力: 它能做什么 或 者接收什么类型的广播。

     action 对于Provider与Receiver而言指示发生了什么(如:电池电量低,耳机插入,系统引导完成), 对于Activity和Service则是描述一个行为的名称(如 MAIN, 表示新片断是Task的第一个Activity [ Start up as the initial activity of a task, with no data input and no returned output. ])。

     

2. Activity 与 Task ?

    Task是一个工作栈。 一般情况下Activity A进入Activity B中时,它们在同一个栈中,在B中按下Back返回时,会返回到A。

     要使用startActivityForResult(),则A,B必须在一个Task中。

    Android 为每个从Home启动的程序开辟一个新的栈(Task)。

3. Home 键与 Back 键的区别?

     换下Home时,程序是否退出? 按下Back时呢?

     程序运行时:

     按下Home键,则当前程序不会退出,打开原程序,会返回到原来的页面。

     按下Back键,连续几次,则退回到桌面,原来程序结束。    

     但是:对于有些程序,希望每次进入时都由其第一个Activity进入时( 如打电话程序),可以在 Activity标签下加下 android:launchMode = "singleTask" 属性。

                

 

                     

                     

                     

                     

                     

                     

 

                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值