剪貼簿相關的類ClipboardManager在Android系統中,系統的剪貼簿是由一個全域的ClipboardManager類來代表的。你不能直接執行個體化這個類,相反,要通過調用getSystemService(CLIPBOARD_SERVICE)方法來獲得對它的引用。ClipData、ClipData.Item和ClipDescription要把資料添加到剪貼簿上,你就要建立一個包含資料描述和資料自身的ClipData對象。剪貼簿每次只會持有一個ClipData對象。ClipData對象
本文譯自:http://developer.android.com/training/basics/activity-lifecycle/starting.html#lifecycle-states本課程範例程式碼:http://download.csdn.net/detail/fireofstar/4874551跟其他程式設計語言使用main()方法來啟動應用程式不一樣,Android系統通過調用Activity執行個體中對應生存周期的特定的回調方法來啟動代碼。這些跟Activity綁定的回調
本文譯自:http://developer.android.com/training/basics/fragments/creating.html你可以把一個Fragment想象成一個Activity的模組地區,它有自己的生命週期,接收它自己的輸入事件,並且你可以在Activity運行時添加和刪除它(這有點像一個子Activity,你可以在不同的Activity中重用它們)。本節課向你介紹如何使用支援類庫來擴充Fragment,以便讓你的應用程式能夠在像Android1.6那樣的較舊版本上的相容
AbsListView可以用於實現虛擬化項目列表的基類AbsSpinner針對微調Widget的抽象基類AdapterViewAnimator它使用AdapterView作為基類,實現View之間切換時的動畫AdapterViewFlipper它是視圖動畫的一個簡單實現,可以在添加其中的View之間執行動畫。AppWidgetHostView給顯示AppWidget視窗提供顯示空間CalendarView這個類是一個用於顯示和選擇日期的日曆控制項DatePicker這個類是選擇日期的視窗控制項D
本文譯自:http://developer.android.com/training/basics/fragments/fragment-ui.html當要把應用程式設計成支援大多數螢幕尺寸的時候,你可以在不同的布局配置中複用你的Fragment,並基於可用的螢幕空間來最佳化使用者體驗。例如,在手持功能上,它可能每次只適合顯示一個Fragment作為使用者介面。相反,在平板電腦上,你可能想要一組Fragment彼此相連,把更多的資訊顯示給使用者。圖1.在不同螢幕尺寸上的同一個Activity中使
本文譯自:http://developer.android.com/reference/android/widget/ArrayAdapter.html繼承關係java.lang.Object |___android.widget.BaseAdapter
本文譯自:http://developer.android.com/training/basics/fragments/communicating.html為了重用Fragment的UI組件,你建立的每個Fragment都應該是自包含的、有它自己的布局和行為的模組化組件。一旦你定義了這些可重用的Fragment,你就可以把它們跟一個Activity關聯,並把它們跟應用程式的邏輯相連來實現全部的組合式UI。你會經常想要一個Fragment跟另一個Fragment進行通訊,例如,要基於一個使用者事件
本文譯自:http://developer.android.com/reference/android/widget/Spinner.htmljava.lang.Object |___android.view.View |___android.view.ViewGroup |___android.widget.AdapterView<T extends android.widget.Adapter>
本文譯自:http://developer.android.com/training/basics/activity-lifecycle/recreating.html由於一些通常的應用程式的行為,有些時候Activity會被銷毀,如當使用者按下Back按鈕或調用finish()方法發出自我銷毀訊號的時候。如果Activity被終止,並且長時間不被使用時,或者前台的Activity要求更多的資源以致系統必須關掉後台進程來回收記憶體時,系統也可能會銷毀你的Activity。當你的Activity因
複製流化的資料你可以複製和粘貼被流化的大文本和位元據。這種資料可以是以下形式:1. 儲存在實際裝置上的的檔案;2. 來自通訊端中的資料流;3. 儲存在底層資料庫系統中的大資料。針對資料流的內容提供器使用一個檔案描述對象(如AssetFileDescriptor,而不是Cursor對象)來提供對資料的訪問。粘貼資料的應用程式會使用這個檔案描述對象來讀取資料流。按照以下步驟建立使用提供其來複製資料流的應用程式:1. 建立一個準備放入剪貼簿上的資料流所對應的內容URI。包括以下可選的內容:
複製結構性資料為了複製和粘貼複雜的資料,你可以建立一個繼承ContentProvider組件的內容提供器。你還應該把要放到剪貼簿上的URI編碼,以便它指向你想要提取的資料。另外,你必須要考慮你的應用程式的存在狀態:1. 如果你已經有了一個內容提供器,你可以給它添加功能。你可能只需要修改它的query()方法來處理粘貼資料的應用程式所輸入的URI。為了處理“copy”URI的模式,也可能會修改這個方法。2. 如果你的應用程式維護了一個內部的資料庫,你可能想要把這個資料庫移到內容提供器中,為從中複製
本文譯自:http://developer.android.com/reference/android/view/View.MeasureSpec.html繼承關係java.lang.Object |_____android.view.View.MeasureSpec類概要MeasureSpec類封裝了從父容器傳遞給子View的布局要求。每個MeasureSpec對象代表一個寬度和/或高度要求,它由一個尺寸和一個模式組成。模式如下:UNSPECIFIED父容器不對子View做任何強制限制式,
本文譯自:http://developer.android.com/training/basics/activity-lifecycle/pausing.html#Pause通常在使用應用程式期間,前台的Activity有些時候會佔據其他可視組件的顯示位置,從而導致被遮擋的Activity暫停。例如,當一個半透明的Activity開啟時(如一個對話方塊),前一個Activity就會被暫停。儘管該Activity依然部分可見,但當前的焦點並不在該Activity中,所以它依然被暫停(Paused狀
撥打音頻電話要撥打音訊撥號,就必須具備以下條件:1. 一個用於撥號的SipProfile對象(本地配置),一個接收呼叫的有效SIP地址(對等配置)。2. 一個SipManager對象。你應該建立一個SipAudioCall.Listener來進行音訊撥號。跟SIP協議棧的大多數客戶互動都是通過這個監聽器來發生的。在下面的代碼中,你會看到在建立呼叫之後,SipAudioCall.Listener是如何工作的:SipAudioCall.Listener listener = new
使用內容提供器來複製複雜的資料內容提供器支援複製諸如資料庫記錄或檔案流等複雜資料。要複製這樣的資料,你就要把一個內容的URI放到剪貼簿上。然後粘貼資料的應用程式重剪貼簿上擷取這個URI,並且使用它來擷取資料庫資料或檔案流的描述符。因為粘貼資料的應用程式只有資料的URI,所以它需要知道要或擷取的資料的位置。你可以通過URI中的資料標識編碼來提供這個資訊,或者提供你所希望複製資料的唯一URI。你所選用的技術要依賴你的資料的組織形式。下面介紹如何建立URI、如何提供複雜資料以及如何提供檔案流。這些介紹
本文譯自:http://developer.android.com/guide/topics/text/copy-paste.htmlAndroid為複製和粘貼提供了強大的基於剪貼簿的架構。它支援簡單和複雜的資料類型,包括文本字串、複雜的資料結構、文本和二進位流資料、甚至應用成程式的資產。簡單的文本資料被儲存在剪貼簿中,而複雜的資料會儲存一個引用,粘貼應用程式會使用內容提供器來解析這個引用。複製和粘貼工作可以在應用程式內部進行,也可以在實現了該架構的兩個應用程式之間進行。因為該架構部分使用了內容
本文譯自:http://developer.android.com/reference/android/widget/Scroller.html繼承關係java.lang.Object|____android.widget.Scroller類概要這個類封裝了滾動處理。在它的構造器中可以傳遞滾動的期間,並指定滾動動畫所需要的最大時間。經過這段時間,滾動處理會自動的把它們移到最後的階段,並且如果computeScrollOffset()方法始終返回false,那麼就表示滾動處理結束了。Public
正確的終止和重啟你的Activity是Activity生命週期中重要的處理,它確保你的使用者認為你的應用程式始終處於活動狀態。在幾個關鍵的情境中,你的Activity要被終止和重啟:1. 使用者開啟最近使用使用的應用程式視窗,並且從你的應用程式切換到另外一個應用程式。這時你的應用程式中那個當前在前台的Activity就會被終止。如果使用者從主屏Launcher的表徵圖或最近使用的應用程式視窗中返回到你的應用,那麼該Activity就被重啟。2. 使用者在你的應用程式中執行啟動一個新的Activi
IMEAPI有IME的類可以在android.inputmethodservice和android.view.inputmethod包中找到。KeyEvent類對於處理鍵盤字元至關重要。IME的核心部分是服務元件,它繼承InputMethodService類。除了實現了標準的服務生命週期,這個類還給IME的UI提供了回調方法,用於處理使用者的輸入,並且把文本發送給當前具有輸入焦點的文本域。預設情況下,InputMethodService類提供了用於管理IME狀態和可見度的大多數實現,並且跟當前的
把文本發送給應用程式當使用者用你的IME輸入文本時,你可以通過發送單獨的按鍵事件或應用程式的文本域中游標附近編輯文本的方式把文本發送給應用程式。在這兩種情況中,你要使用一個InputConnection對象來發送文本。調用InputMethodService.getCurrentInputConnection()方法來獲得這個執行個體。在游標附近編輯文本當處理文本域中既存的的文本時,在BaseInputConnection類中有一些非常有用的方法:getTextBeforeCursor()返回一