Time of Update: 2018-12-03
當一個Activity啟動另一個Activity時,它們都經曆了生命週期的轉換。第一個Activity被暫停和終止(即使它在後面依然可見而不想終止)時,另一個Activity就會被建立。在這種情況下,Activity共用的資料要儲存到光碟片或其他地方,理解在第二個Activity被建立之前,第一個Activity不能完全被終止是至關重要的。否則,正在啟動的第二個Activity的進程會覆蓋正在終止的第一個Activity的進程。 特別是當在同一個進程中的兩Activity之間切換時,生命週期回
Time of Update: 2018-12-03
public 抽象類別SQLiteOpenHelper繼承關係java.lang.Object
Time of Update: 2018-12-03
確定啟動監聽位置更新的時機你可能想要在應用程式一啟動就要監聽位置更新,或者是在使用者啟用某個特定功能之後才開始監聽位置更新。要注意的時,長時間的監聽位置的變化會消耗大量的電池電量,但是短期的監聽可能不會提供足夠的精度。如上訴Demo,通過調用requestLocationUpdates()方法能夠開始監聽位置的更新:LocationProvider locationProvider = LocationManager.NETWORK_PROVIDER;// Or, use GPS
Time of Update: 2018-12-03
有幾種類型的情境可能會要求你把應用程式中發生的事件通知給使用者。有些事件需要使用者響應,而有些則不需要。例如:1. 當像檔案儲存完成的一個事件發生時,就應該顯示一個短訊息,提示使用者儲存成功了。2. 如果應用程式正在後台運行,並且需要使用者的關注,那麼應用程式就應該建立一個允許使用者方便響應的通知。3. 如果應用程式正在執行使用者必須等待的工作(如裝載檔案),那麼應用程式就應該顯示一個懸停的進度對話方塊。每種通知任務都能夠使用以下三種不同的技術來實現:1. 廣播通知,主要針對來自背景短訊息;2.
Time of Update: 2018-12-03
一個Fragment代表一個行為或Activity中使用者介面的一部分。你能夠在一個Activity中組合使用多個Fragment來建立一個多面板的使用者介面,並且可以在多個Activity中重用同個一個Fragment。你可以把一個Frament想象成一個Activity的模組,它有自己的生命週期,接受它們自己的輸入事件,並且能夠在Activity運行時進行添加或刪除(這有些像“子Activity”,你能夠在不同的Activity中重用)。Frament必須嵌入到一個Activity中,並且
Time of Update: 2018-12-03
廣播通知(Toast
Time of Update: 2018-12-03
儲存媒體檔案由使用者建立的像圖片和視頻這樣的媒體檔案,應該儲存到裝置的外部儲存目錄中(SD卡)以節省系統空間,並且允許使用者在本裝置以外能夠訪問這些檔案。在裝置上有很多肯能的儲存媒體檔案的目錄位置,但是作為開發人員應該只考慮兩個標準的位置:Evironment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES):這個方法會返回一個標準的、共用的且推薦使用的目錄位置。這個目錄是共用的(公用的),因此其他應用程式能夠很容
Time of Update: 2018-12-03
在很多類型的應用程式中,菜單是一個常用的使用者介面組件。要提供友好的和前後一致的使用者體驗,就應該使用Menu APIs把Activity的動作和其他選項展現給使用者。從Android3.0(API 層級
Time of Update: 2018-12-03
Android在Android3.0中引入了Fragment,主要用於支援在大螢幕上進行更多的動態和靈活的UI設計,如平板電腦。因為平板電腦的螢幕比手持功能要大,因此有更多的空間用於UI組件的組合和互換。Fragment允許不需要你來管理對View層樹的複雜管理的設計方式。通過把一個Activity的布局分解成不同的Fragment,你就能夠在運行時編輯Activity的外觀,並且在被Activity管理的回退堆棧中保留這些改變。例如,一個新聞相關的應用在左側能夠使用一個Fragment來顯示文
Time of Update: 2018-12-03
使用Camera功能大多數的Camera功能都是使用Camera.Parameters對象來啟用和控制的。首先要通過Camera對象執行個體的getParameters()方法,來擷取這個對象,然後把修改後的參數對象再設定給Camera對象,以下範例程式碼示範了這個操作:// get Camera parametersCamera.Parameters params = mCamera.getParameters();// set the focus
Time of Update: 2018-12-03
一個Activity的使用者介面是通過View樹來提供的---這些View對象繼承View類。每個View在Activity的視窗中都控制一個特定的的矩形地區,並且能夠響應使用者的操作。例如,一個按鈕在使用者點擊它時,可以啟動一個動作。Android提供了很多已經準備好的View,你能夠使用這些View來設計和組織到你的布局中。“Widgets”是給螢幕提供的可見的並可互動的View元素。如按鈕、文本域、檢查框、或圖片等。“Layouts”是繼承於ViewGroup的View,它給它的子Vie
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/guide/topics/location/index.html位置和基於地圖的應用程式,對於行動裝置使用者來說是最具吸引力的。你能夠使用android.location包和Google
Time of Update: 2018-12-03
要建立一個Fragment,你必須建立一個Fragment的子類(或一個既存的Fragment的子類)。Fragment類的代碼看上去有點象Activity,它包含了類似Activity的的回調方法,如onCreate()、onStart()、onPause()和onStop()方法。實際上,如果你正在把一個既存的Android應用程式轉換成使用Fragment的應用程式,你只需簡單的把Activity的回調方法的代碼移到各自的Fragment的回調方法中。通常,至少應該實現下列生命週期方法:
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/guide/topics/location/strategies.html讓你的應用程式瞭解使用者的位置,可以更加智能的給使用者發送更好的資訊。在開發一款Android版的位置感知應用程式時,你能夠利用GPS和Android的網路位置提供器來擷取使用者的位置。儘管GPS是最準確的,但它只能在戶外工作,並且會快速的消耗電池電量,同時返回的位置資訊也沒有使用者想要的那樣快。Android的網路位置提供器使用蜂窩基站和Wi-Fi訊號來
Time of Update: 2018-12-03
要建立一個Activity,你必須建立一個Activity的子類(或者是現存的Activity子類)。在這個子類中,需要實現系統調用的回調方法,以便Activity在生存周期的各種狀態間轉換。如Activity正在被建立、被終止、被恢複、或被銷毀等狀態,其中兩個最重要的回調方法是:onCreate()你必須在Activity子類中實現這個方法。在Activity建立時,系統會調用這個方法。在你的實現中,應該初始化必要的Activity組件。最重要的,在這兒你必須調用setContentView
Time of Update: 2018-12-03
申請使用者權限為了接收來自NETWORK_PROVIDER或GPS_PROVIDER的位置更新,你必須通過聲明ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION許可權來分別的在你的Android清單中申請使用者權限,如:<manifest ... > <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
Time of Update: 2018-12-03
ContentProvider類有兩個方法能夠返回MIME類型:getType()你必須給提供實現的必要的方法之一。getStreamTypes()如果你的提供器提供了檔案,那麼就期望實現這個方法。針對錶的MIME類型getType()方法返回了由內容資源標識(URI)參數返回的描述資料類型的MIME格式中的一個字串。這個URI是被模式化的而不是一個特定的URI;因此,你應該返回跟這個模式比對的與內容資源標識相關聯的資料類型。對於普通的如text、HTML、JPEG等資料類型,getType()
Time of Update: 2018-12-03
<Activity>元素中也能使用<intent-filter>元素來指定各種Intent過濾器,以便聲明其他應用程式組件可以怎樣啟用它。 當你使用AndroidSDK工具建立一個新的應用程式是,自動建立的那個Activity包含了一個聲明Activity響應“Main”動作的Intent過濾器,並且這個過濾器被放在“Launcher”分類中。過濾器聲明如下:<activity android:name=".ExampleActivity"
Time of Update: 2018-12-03
前台服務是哪些被認為使用者知道的並且在記憶體低的時候不允許系統殺死的服務。前台服務必須給狀態列提供一個通知,他被放到了“進行中中(Ongoing)”標題之下,這就意味著直到這個服務被終止或從前台刪除通知才能被解除。例如,一個播放音樂的音樂播放器服務應該被設定在前台運行,因為使用者明確的知道它們的操作。狀態列中的通知可能指明了當前的歌曲,並且使用者啟動一個跟這個音樂播放器互動的Activity。要讓你的服務在前台運行,需要調用startForeground()方法,這個方法需要兩個參數:一個唯一標
Time of Update: 2018-12-03
建立操作功能表操作功能表提供了影響指定項目或UI中內容結構的動作。你能夠給任何View對象提供一個內容菜單,但是它們最常用於ListView、GridView或集合類型的View對象的項目中,使用者能夠執行每個項目上的動作。有兩個方法來提供上下文動作:1. 在一個浮動的內容菜單中提供上下文動作。當使用者在一個聲明支援操作功能表的View對象上長按(long-click)時,會顯示一個浮動的功能表項目列表(類似一個對話方塊)。每次使用者能夠在一個項目上執行的上下文動作。2. 在上下文動作模式中