Time of Update: 2018-12-03
這一節描述了在Android應用程式中如何使用裝載器,使用裝載器的應用程式通常包括以下內容:1. 一個Activity或Fragment;2. 一個LoaderManager執行個體;3. 一個用於載入通過ContentProvider儲存的資料的CursorLoader對象,也可以是你自己實現的用於載入其他類型資料的Loader或AsyncTaskLoader類的子類。4. 一個LoaderManager.LoaderCallbacks相關的實現,這是你建立新的裝載器和管理既存裝載器引
Time of Update: 2018-12-03
LoaderManager.LoaderCallbacks是一個讓客戶與LoadManager進行互動的回調介面。裝載器,尤其是CursorLoader裝載器,被期望用來儲存被終止後的資料,這樣就允許應用程式在Activity之間或Fragment的onStop()和onStart()方法之間進行切換時儲存資料,以便在使用者返回應用程式時,它們不需要因資料重載而等待。使用LoaderManager.LoaderCallbacks()的回調方法就知道在什麼時候要建立一個新的裝載器,並且告訴應用程式
Time of Update: 2018-12-03
類說明1. 嵌套類class Fragment.InstantiationException當有一個執行個體化錯誤時,會通過instantiate(Context, String, Bundle)方法拋出這個異常類。class
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/training/basics/fragments/support-lib.htmlAndroid支援類庫提供了一個帶有API類庫的JAR檔案,這樣當你的應用程式運行在較早的Android版本上時,在應用程式中更多的使用最近版本的Android API。例如,你可以在Android1.6(API Level
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/training/basics/activity-lifecycle/starting.html#lifecycle-states本課程範例程式碼:http://download.csdn.net/detail/fireofstar/4874551跟其他程式設計語言使用main()方法來啟動應用程式不一樣,Android系統通過調用Activity執行個體中對應生存周期的特定的回調方法來啟動代碼。這些跟Activity綁定的回調
Time of Update: 2018-12-03
public final boolean isAdded()如果該Fragment對象被添加到了它的Activity中,那麼它返回true,否則返回false。public final boolean isDetached()如果該Fragment已經明確的從UI中分離,那麼它返回true。也就是說,在該Fragment對象上使用FragmentTransaction.detach(Fragment)方法。該方法在API Level 13中被引入。public final boolean
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/training/basics/fragments/creating.html你可以把一個Fragment想象成一個Activity的模組地區,它有自己的生命週期,接收它自己的輸入事件,並且你可以在Activity運行時添加和刪除它(這有點像一個子Activity,你可以在不同的Activity中重用它們)。本節課向你介紹如何使用支援類庫來擴充Fragment,以便讓你的應用程式能夠在像Android1.6那樣的較舊版本上的相容
Time of Update: 2018-12-03
在編寫一個應用程式時,正確的考慮圖形需求是至關重要的。最好是根據不同的圖形任務來使用合適的圖形技術。例如:相對靜態應用程式而言,互動遊戲應用的圖形和動畫會有很多差異。以下我們會討論在Android平台上可以使用的幾種圖形描畫的選項,以及它們最適用的情境。Canvas and
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/training/basics/fragments/fragment-ui.html當要把應用程式設計成支援大多數螢幕尺寸的時候,你可以在不同的布局配置中複用你的Fragment,並基於可用的螢幕空間來最佳化使用者體驗。例如,在手持功能上,它可能每次只適合顯示一個Fragment作為使用者介面。相反,在平板電腦上,你可能想要一組Fragment彼此相連,把更多的資訊顯示給使用者。圖1.在不同螢幕尺寸上的同一個Activity中使
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/training/basics/firstapp/building-ui.htmlAndroid應用程式的圖形化使用者介面是使用View和ViewGroup對象層來構建的。通常View對象是一些UI小視窗,如按鈕和文本域。ViewGroup對象是一個不可見的View容器,它定義了其中的子View的布局方式,如在一個格子中,或者一個垂直的列表。Android提供了一個XML詞彙表,它對應著View和ViewGroup的子類,因此你
Time of Update: 2018-12-03
回退堆棧在Fragment中被編輯的事務能夠放在它自己的Activity中回退堆棧內。當使用者在該Activity中按下返回按鈕時,在回退堆棧中的任何事務在Activity自己被結束之前會被彈出堆棧。例如,執行個體化一個帶有整數參數的簡單的Fragment對象,並且把這個整數顯示在它的UI的一個TextView中:publicstaticclassCountingFragmentextendsFragment{ int mNum; /** * Create a new
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/training/basics/fragments/communicating.html為了重用Fragment的UI組件,你建立的每個Fragment都應該是自包含的、有它自己的布局和行為的模組化組件。一旦你定義了這些可重用的Fragment,你就可以把它們跟一個Activity關聯,並把它們跟應用程式的邏輯相連來實現全部的組合式UI。你會經常想要一個Fragment跟另一個Fragment進行通訊,例如,要基於一個使用者事件
Time of Update: 2018-12-03
啟用裝置的可發現性如果要讓本地裝置可以被其他裝置發現,那麼就要調用ACTION_REQUEST_DISCOVERABLE操作意圖的startActivityForResult(Intent,
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/guide/topics/ui/layout/linear.htmlLinearLayout是一個View組,包含其中的所有子View,都會按照同一方向排列,垂直或水平方向。你可以用android:orentation屬性來指定布局的方向。LinearLayout中的所有子View會被依次排列,因此垂直列表每行中只有一個子View,而不管行有多寬;水平列表只會有一行(用最高的子View的高度加上填充作為行高)。LinearLay
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/training/basics/activity-lifecycle/recreating.html由於一些通常的應用程式的行為,有些時候Activity會被銷毀,如當使用者按下Back按鈕或調用finish()方法發出自我銷毀訊號的時候。如果Activity被終止,並且長時間不被使用時,或者前台的Activity要求更多的資源以致系統必須關掉後台進程來回收記憶體時,系統也可能會銷毀你的Activity。當你的Activity因
Time of Update: 2018-12-03
作為已連線的服務端當你想要串連兩個裝置時,一個必須通過持有一個開啟的BluetoothServerSocket對象來作為服務端。服務通訊端的用途是監聽輸入的串連請求,並且在一個串連請求被接收時,提供一個BluetoothSocket連線物件。在從BluetoothServerSocket對象中擷取BluetoothSocket時,BluetoothServerSocket能夠(並且也應該)被廢棄,除非你想要接收更多的串連。以下是建立服務通訊端和接收一個串連的基本過程。1. 調用listenUsi
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/guide/topics/ui/layout/relative.htmlRelativeLayout是一個用相對位置來顯示子View的View組。每個View的位置可以相對與相鄰元素來指定(如相對與另一個View的左邊或底邊),或者相對於父RelativeLayout地區位置來指定(如底部對齊,中央偏左)。RelativeLayout是用於設計使用者介面的非常強大的工具,因為它可以消除嵌套的View組,並讓你的布局層次平面化,這
Time of Update: 2018-12-03
複製流化的資料你可以複製和粘貼被流化的大文本和位元據。這種資料可以是以下形式:1. 儲存在實際裝置上的的檔案;2. 來自通訊端中的資料流;3. 儲存在底層資料庫系統中的大資料。針對資料流的內容提供器使用一個檔案描述對象(如AssetFileDescriptor,而不是Cursor對象)來提供對資料的訪問。粘貼資料的應用程式會使用這個檔案描述對象來讀取資料流。按照以下步驟建立使用提供其來複製資料流的應用程式:1. 建立一個準備放入剪貼簿上的資料流所對應的內容URI。包括以下可選的內容:
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/guide/topics/ui/layout/listview.htmlListView是一個用於顯示可滾動的項目列表的View組。它適應一個Adapter來自動的插入清單項目,該Adapter會從諸如數組或資料庫查詢中拉入內容,並把每個項目結果轉換成一個可放入列表的View。對於如何使用adapter來自動的插入View的介紹,請看使用Adapter來建立布局。使用裝載器為了避免查詢時阻塞你的應用程式的主線程,使用Cursor
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/guide/topics/text/copy-paste.htmlAndroid為複製和粘貼提供了強大的基於剪貼簿的架構。它支援簡單和複雜的資料類型,包括文本字串、複雜的資料結構、文本和二進位流資料、甚至應用成程式的資產。簡單的文本資料被儲存在剪貼簿中,而複雜的資料會儲存一個引用,粘貼應用程式會使用內容提供器來解析這個引用。複製和粘貼工作可以在應用程式內部進行,也可以在實現了該架構的兩個應用程式之間進行。因為該架構部分使用了內容