編輯:高級開發
android作為一個手機操作系統,大多數的人都是把它默認為面向對象的支持,認為他就是塞班的替代品,一種延伸而已,而事際上,android代碼與塞班是完全不同的操作系統。
雖然Intent Receiver在感興趣的事件發生時,會使用NotificationManager通知用戶,但它並不能生成一個UI。ntent Receiver在androidManifest.XML中注冊,但也可以在android代碼中使用Context.registerReceiver()進行注冊。
當一個intent receiver被觸發時,你的應用不必對請求調用intent receiver,系統會在需要的時候啟動你的應用。各種應用還可以通過使用Context.broadcastIntent()將它們自己的intent receiver廣播給其它應用程序。
一個Service是一段長生命周期的,沒有用戶界面的程序。比較好的一個例子就是一個正在從播放列表中播放歌曲的媒體播放器。在一個媒體播放器的應用中,應該會有多個activity,讓使用者可以選擇歌曲並播放歌曲。然而,音樂重放這個功能並沒有對應的activity。
因為使用者當然會認為在導航到其它屏幕時音樂應該還在播放的。在這個例子中,媒體播放器這個activity會使用Context.startService()來啟動一個service。從而可以在後台保持音樂的播放。同時,系統也將保持這個service一直執行,直到這個service運行結束。另外,我們還可以通過使用Context.bindService()方法。
連接到一個service上(如果這個service還沒有運行將啟動它)。當連接到一個service之後,我們還可以service提供的接口與它進行通訊。拿媒體播放器這個例子來說,我們還可以進行暫停、重播等操作。
應用程序能夠將它們的數據保存到文件中、SQL數據庫中,甚至是任何有效的設備中。當你想將你的應用數據與其它的應用共享時。Content Provider將會很有用。一個Content Provider類實現了一組標准的方法,從而能夠讓其它的應用保存或讀取此Content Provider處理的各種數據類型。
在一個Android應用中,主要是由一些組件組成,(Activity,Service,ContentProvider,etc.)在這些組件之間的通訊中,由Intent協助完成。正如網上一些人解析所說,Intent負責對應用中一次操作的動作、動作涉及數據、附加數據進行描述,android則根據此Intent的描述。
負責找到對應的組件,將 Intent傳遞給調用的組件,並完成組件的調用。Intent在這裡起著實現調用者與被調用者之間的解耦作用。Intent傳遞過程中,要找到目標消費者(另一個Activity,IntentReceiver或Service),也就是Intent的響應者,有兩種方法來匹配:
- public TestB extents Activity
- {
- .........
- };
- public class Test extends Activity
- {
- ......
- public void switchActivity()
- {
- Intent i = new Intent(Test.this, TestB.class);
- this.startActivity(i);
- }
- }
android代碼簡潔明了,執行了switchActivity()函數,就會馬上跳轉到名為TestB的Activity中。
從SDK 1.5版本以後,android就開放它的IMF(Input Method Framework),讓我們能夠開發自己的輸入法。而開發輸入法最好的參考就是Andr
Google於2007年11月5日宣布發布android 手機,這款手機是基於Linux內核的一款操作系統,谷歌將繼續努力,讓這些服務變得更好,同時也將添加更有吸引力的
前不久我們為大家介紹過在MyEclipse 8.6上搭建android開發環境,本文為一篇外文翻譯,我們將介紹如何學習安裝 android NDK 並開始使用它。在這一
通過與全球各地的手機制造商和移動運營商結成合作伙伴,開發既有用又有吸引力的移動服務,並推廣這個android開發平台,這也大大的加大了android開發平台在整個行業的