<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Calvin's Tech Space

    成于堅忍,毀于浮躁

       :: 首頁 :: 聯系 :: 聚合  :: 管理

    在Android 程序中有四個部分

    Activity 活動

    Intent Receiver

    Service 服務

    Content Provider

    一般程序都用到上述的組合實現。

    一但你確定了你的程序時什么類型的組件,你應該在AndroidManifest.xml中列出?!驹谶@個文件中,你可以聲明這些組件的能力和需求】

     
    1.1  Activity

    活動時最基本的程序塊,由一個繼承Activity 的類來實現【通常是具有單一屏幕】。

    這個類將顯示一個組合Views的用戶接口,來響應事件。

    多數程序都由多個屏幕,每個屏幕由一個Activity 來實現,屏幕的移動通過啟動一個新的Activity來實現,不同Activity之間可能共享傳遞數據。

    以及當前屏幕跟后臺暫停的屏幕之間的調度、堆棧管理,數據交互傳輸、基準屏幕管理都時活動需要研究的概念。

     
    1.2  Intent and Intent Filters

    Android 通過類Intent 來從一個屏幕移動到另外一個屏幕【其描述一個應用系統想做什么】

    其中最重要的有兩個部分概念:

    動作 和 數據

    動作的一般值有:MAIN,VIEW,PICK,EDIT 等

    數據通過URI表示。

    比如:為了查看一個人的合同信息,可以創建一個Intent其具有一個View 動作,以及代表人的URI數據。

     

    另外一個相關類:IntentFilter,

    一個Intent 是做東西的一個有效請求

    Intent filter 是一個Activity 能夠處理的什么Intent的描述。

    比如:顯示一個人的合同信息的活動,將發布一個IntentFilter ,其說明它知道如何處理動作視圖,當應用數據來表示一個人。

    Android 將在AndroidManifext.xml中指定IntentFilters

     

    屏幕之間的導航通過解析Intents,往前跳轉時,一個Activity調用startActivity(myIntent),此時系統將查找所有安裝系統的Intents filters.并且獲取能夠跟myIntent匹配的活動。

    新活動將被通知,調用。

    解析Intents的過程在startActivity調用時發生,具有如下好處:

    通過intent的方式來創建請求,使得Activities能夠實現跨組件功能復用。

    任何活動可以被具有同等的IntentFilter的新活動替換。

    【設計框架要保證系統的服務模塊具有統一的接口可以進行替換處理】

    1.3  Intent Receiver

    如果想在你的系統中執行對特定事件的響應時,你可以采用IntentReceiver。

    如:電話響了,網絡數據可用了,午夜定時到了。

    Intent Receiver 不能顯示UI【類似SAP 的R3 開發平臺中的工作進程的后臺進程】,雖然可以用NotificationManager來提示用戶在有趣的事情發生時,通過在AndroidManifest.xml中注冊。同時也可以通過Context.registerReceiver()代碼進行注冊。

    不必要為了被調用的Intent receiver 來運行應用程序。系統將會啟動你的程序在一個internt receiver 觸發時。

    系統也會發送其自己的intent 傳播給其它的系統。通過Content.broadcastIntent()
    1.4  Service

    Service是那種沒有UI的長時間運行的代碼?!久襟w播放器,在此播放器中,可能有一個或多個activites來允許用戶選擇歌曲或者開始播放;但是即使轉向一個新的Screen,歌曲最好仍然播放】

    此時媒體播放器應該利用Context.startService來啟動一個服務在后臺運行,系統會一直運行的,直到完成為至。

    可以通過Context.bindService來連接一個服務,然后通過服務的接口交互。

    更多詳細請看:Life Cycle of an Adrioid Application

     
    1.5  Content Provider

    程序可以在文件/SQLLite 數據庫存儲數據。如果你想同別的程序共享數據,你可以用Content provider. 一個Content Provider 即是一個類其實現一套標準的方法讓其它程序能夠存取相應的數據的。

    更多內容請關注:存取操作Content Providers.

    posted on 2009-09-15 21:03 calvin 閱讀(179) 評論(0)  編輯  收藏 所屬分類: Android
    主站蜘蛛池模板: 色在线亚洲视频www| 亚洲人成网77777亚洲色| 亚洲成人免费网站| 久久亚洲综合色一区二区三区| 成年网站免费入口在线观看| 性做久久久久免费观看| 亚洲国产成人AV网站| 国产美女无遮挡免费视频网站| 色偷偷亚洲第一综合| 免费国产一级特黄久久| 日本永久免费a∨在线视频| 国产免费女女脚奴视频网| 亚洲经典在线观看| 欧洲黑大粗无码免费| 亚洲乱人伦中文字幕无码| 夜色阁亚洲一区二区三区| 国产美女视频免费观看的网站| 亚洲国产精品一区二区成人片国内 | 在线观看国产一区亚洲bd| yy6080久久亚洲精品| 人妖系列免费网站观看| 国产亚洲精品观看91在线| 99久久人妻精品免费二区| 在线综合亚洲中文精品| 国产91在线免费| 亚洲一级高清在线中文字幕| 成全高清视频免费观看| aaa毛片免费观看| 亚洲精品视频久久| 国产男女性潮高清免费网站| 国产在线播放线91免费| 国产乱辈通伦影片在线播放亚洲| a级毛片在线免费| 亚洲人xxx日本人18| 亚洲麻豆精品国偷自产在线91| 国产午夜精品久久久久免费视| 亚洲91精品麻豆国产系列在线| 免费一级毛片在线播放不收费| 免费视频一区二区| 亚洲一本一道一区二区三区| 青苹果乐园免费高清在线|