小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

android入門之三【應用程序組成】 - 藍之風 - 博客園

 蝸牛手 2011-05-23

一般的android應用程序由4部分組成分別是:

Activity

Broadcast Intent Receiver

Service

Content Provider

      并不是說所有的應用程序都是由這四個部分組成,有的簡單的應用只需要Activity就可以了,有的只需要Broadcast Intent Receiver就可以了。

      在android項目里邊有個AndroidManifest.xml文件,這個文件非常重重要,就和Asp.net中的web.config文件一樣,應用中要用到的組件都要首先在這個文件中

進行描述聲明后才可以正常使用,否則程序中用到了上述的組件了,也不會起作用。

一、Activity 組件

         Activity是開發(fā)android應用的過程中使用的最頻繁的組件,它是android的最基本的組件之一。在android程序中Activity 代表了手機的一個屏幕,好比Asp.net應用中的一個網頁,一個android應用相當于一個web站點。在Activity中我們可以添加View, 并且對View做一些操作,View可以理解為一個UI容器,在這個容器中可以添加很多UI 元素,比如:Button,TextView,EditView,List等,這些豐富的UI元素組成了和用戶交互的時的豐富的用戶界 面,Activity控制著View中各個元素的邏輯處理和導航,比如Activity1跳轉到Activity2,當然也可以在Activity2關閉 的時候返回一個值給Activity1這個和Asp.net中彈出一個對話框,當關閉對話框時返回一個值給原頁面是一樣的,這樣在開發(fā)中解決很多問題是非 常方便的。

      Android的導航是由一個stack控制,當打開一個新的屏幕時原來的屏幕會被置為暫停狀態(tài),并且壓入歷史堆棧,用戶可以通過返回操作來彈出棧頂?shù)钠? 幕并設置為當前操作的屏幕界面。android會把每個應用從開始到當前的每一個屏幕的頁面都壓入到堆棧中,在開發(fā)過程中可以有選擇的移除一些堆棧中不會 用到的界面。Activity是由android系統(tǒng)進行維護的,它有自己的生命周期。

二、Broadcast Intent Receiver組件

      可以使用BroadcastReceiver來讓應用對一個外部的事件作出響應,因此利用這個組件可以做一些很有意思的事情,我之前寫的一篇Android中發(fā)送和接收短信就 是用BroadcastReceiver組件來實現(xiàn)的。當電話和短信這個外部事件發(fā)生時就可以利用BroadcastReceiver組件來進行處理。 BroadcastReceiver不能直接生成與用戶交互的界面,因為界面是由Activity負責的,換句話說對用戶來說是不透明的,用戶看不到它, 這個和Windows Service 類似,但是BroadccastReceiver可以通過NotificationManager來通知用戶發(fā)生了什么事情,也可以使用Toast來通知 用戶。要使用BroadcastReceiver組件,首先要在AndroidManifest.xml中進行注冊或者在代碼中使用 Context.registerReceiver()進行注冊,只要注冊了,當事件發(fā)生了,即使應用沒有啟動,android也會自動啟動應用,來響應 發(fā)生的事件。

三、Service組件

      Service是一種程序,它可以運行很長時間,但它和BroadcastReceiver組件一樣也沒有界面,這些服務可以提供系統(tǒng)的某些能力,來供調 用,它更像是一組API。例如播放音樂的Sevice,它可以控制音樂的播放,停止。通過startService(Intent service)可以啟動一個service,可以通過Context.BindService()綁定一個Service。

四、Content Provider組件

     數(shù)據(jù)在android中是私有的不能進行共享,這些數(shù)據(jù)包括文件和數(shù)據(jù)庫,但是如果一個應用要使用另一個應用的數(shù)據(jù)在怎么做呢?那么這個時候 Content Provider就派上用場了,一個Content Provider定義了一組標準的方法的接口,能使其它應用保存和讀取此Content Privider的各種數(shù)據(jù),那么怎么來實現(xiàn)呢?那就是通過去實現(xiàn)Contnent Privider的接口就可以了,Content Privider已經實現(xiàn)了數(shù)據(jù)的封裝和處理,外界是看不到數(shù)據(jù)的具體存儲細節(jié),只需要通過這些標準的接口打交道就可以了,可以讀取數(shù)據(jù),刪除數(shù)據(jù),插入 數(shù)據(jù)等等操作。例如android的基本應用Contects就就通過這種方式共享通訊錄數(shù)據(jù)的,其它應用可以通過Content Provider組件操作通訊錄中的數(shù)據(jù)。

總結,android應用的開發(fā)過程中主要使用的是以上的四個組建,靈活的使用這些組建可以滿足大部分應用,其中Activity的使用是最頻繁的,許多應用基本上都是有若干的Activity的相互交互構成的。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多