基于安卓手持设备的手机应用编程——Intent、Permission、Fragment

Programming Mobile Applications for Android Handheld Systems: Part 1 Coursera课程笔记。


*Intent功能,首先它可以定义你想要进行的操作,如选择联系人、拍照片、打电话;它还可以传递一个组件中的事件到另外的组件中。

通常的实现形式是一个Activity中建立Intent和描述所需的操作,然后新建另一个将此操作实现的Activity。


Intent包含的域包括行为、数据、策略、资源的媒体类型、组件等。


*怎样使用Intent来启动Activity
有两种方法Android来识别所需启动的Activity:
显式声明需启动的Activity名。传入的参数分别为Context和Class类型。
隐式地根据Intent中的参数和现有Activity的属性。Intent resolution。
隐式方式中Activity需要指定Intent Filters来描述所能处理的操作。这通常被放置在AndroidManifest.XML文件中,或者是在Activity所在的应用中。Android根据Intent中的Action、Data和Category来和Activity中的intent filters匹配。

如果想要设定一个Activity作为应用主入口,需在该Activity下的<intent-filter>标签中加入<action android:name="android.intent.action.MAIN" />;需要一个Activity作为主入口并设置一个顶层启动图标。则需添加<category android:name="android.intent.category.LAUNCHER" />。


*用Intent在两个Activity间简单传输数据的过程:
在Activity1中调用startActivityForResult方法,传入参数intent和requestCode,在onActivityResult方法中处理Activity2中setResult传回的intent。
Permissions用于控制对重要数据资源和操作的访问权限,如对用户通讯录、摄像头等系统资源。

*如何使用Permissions

应用用androidmanifest.xml文件中的<uses-permission>标签来指定所用到的permission。当应用启动时,用户需要接受这些permissions,否则程序便会出错。

应用也可以制定<permission>标签权限来限制其他应用的访问。

组件也可以制定自己的Permission,其优先级在应用层面的Permission之上。在定制permission时除设置permission标签之外还要在相应的Activity中标出android:permission。

添加震动服务的Permission<uses-permission android:name="android.permission.VIBRATE" /> 。

*Fragment类

Android3.0以上可以使用Fragment来支持平板设备,来解决一个Activity在手机和平板两种不同设备间转换产生的问题。
Fragment代表了Activity用户界面的一部分,一个Activity可以由零个到多个Fragments组成,一个Fragment也可以由零个到多个Activity调用。Fragment的生命周期和调用它的Activity的生命周期有关,除此之外,Fragment还有自己的生命周期调用反馈。
Fragment和Activity的Resume、Paused、Stopped状态同步。

*当持有Fragment的Activity创建时,Fragment会接收到多个方法调用。
fragment会依次收到onAttach、onCreate的调用。其中onCreate是Fragment的方法而不是Activity的,fragment.onCreate也是关于初始化组件,但不需建立用户交互接口。接下来是onCreateView,此方法是fragment用于设置用户界面的方法,这个界面将提交给Activity并安装在Activity的视图层级中,最后是onActivityCreated方法。

*Fragment有两种方式添加到Activity中:
1、它们可以静态地添加到Activity的布局文件中,由setContentView调用。
2、使用FragmentManager。
此后,在Activity开始时,fragment也会收到与Activity同步的生命周期方法,直到最终调用onDestroyView、onDestroy、onDetach。

*在Activity中使用Fragment的步骤如下:
取得FragmentManager的引用。
新建一个FragmentTransaction。
传入fragment的ID和视图。
最后调用fragmentTransaction的commit方法。

在Activity因配置改变而被重建时,设置fragment不被销毁,即不会调用onDestrory和onCreate方法,当Activity重启时再次连接,这样会缩短程序的执行时间。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章