<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
    主站蜘蛛池模板: 亚洲乱码日产一区三区| 免费观看亚洲人成网站| 免费精品国自产拍在线播放| 亚洲无删减国产精品一区| 日本免费福利视频| 18禁网站免费无遮挡无码中文| 无套内射无矿码免费看黄| 亚洲综合一区二区三区四区五区| 久久99国产亚洲高清观看首页| 国产男女猛烈无遮挡免费网站| 9277手机在线视频观看免费| 三级黄色片免费看| 一级毛片正片免费视频手机看| 亚洲精品国产suv一区88| 亚洲欧洲日韩极速播放| 亚洲砖码砖专无区2023| 91亚洲精品自在在线观看| 亚洲精品成人久久| 亚洲国产精品成人精品小说| 67pao强力打造67194在线午夜亚洲| 亚洲午夜久久久影院| 国内精品久久久久久久亚洲| 亚洲高清专区日韩精品| 亚洲国产精品无码专区影院| 久久亚洲精精品中文字幕| 久久精品国产亚洲AV麻豆网站| 亚洲国产精品网站久久| 亚洲欧美日韩一区二区三区| 国产成人亚洲毛片| 成人性生交大片免费看中文| 久久国产色AV免费看| 女人与禽交视频免费看| 亚洲人成电影在线播放| 亚洲不卡中文字幕无码| 亚洲五月丁香综合视频| 中文在线观看永久免费 | 亚洲三级在线观看| 男女超爽视频免费播放| 97精品免费视频| 亚洲国产成人精品久久久国产成人一区二区三区综 | 国产一卡二卡四卡免费|