基於安卓手持設備的手機應用編程——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重啓時再次連接,這樣會縮短程序的執行時間。

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