日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

android入门之三【应用程序组成】

發(fā)布時(shí)間:2025/6/17 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android入门之三【应用程序组成】 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一般的android應(yīng)用程序由4部分組成分別是:

Activity

Broadcast Intent Receiver

Service

Content Provider

????? 并不是說(shuō)所有的應(yīng)用程序都是由這四個(gè)部分組成,有的簡(jiǎn)單的應(yīng)用只需要Activity就可以了,有的只需要Broadcast Intent Receiver就可以了。

????? 在android項(xiàng)目里邊有個(gè)AndroidManifest.xml文件,這個(gè)文件非常重重要,就和Asp.net中的web.config文件一樣,應(yīng)用中要用到的組件都要首先在這個(gè)文件中

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

一、Activity 組件

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

????? Android的導(dǎo)航是由一個(gè)stack控制,當(dāng)打開(kāi)一個(gè)新的屏幕時(shí)原來(lái)的屏幕會(huì)被置為暫停狀態(tài),并且壓入歷史堆棧,用戶可以通過(guò)返回操作來(lái)彈出棧頂?shù)钠聊徊⒃O(shè)置為當(dāng)前操作的屏幕界面。android會(huì)把每個(gè)應(yīng)用從開(kāi)始到當(dāng)前的每一個(gè)屏幕的頁(yè)面都?jí)喝氲蕉褩V?#xff0c;在開(kāi)發(fā)過(guò)程中可以有選擇的移除一些堆棧中不會(huì)用到的界面。Activity是由android系統(tǒng)進(jìn)行維護(hù)的,它有自己的生命周期。

二、Broadcast Intent Receiver組件

????? 可以使用BroadcastReceiver來(lái)讓應(yīng)用對(duì)一個(gè)外部的事件作出響應(yīng),因此利用這個(gè)組件可以做一些很有意思的事情,我之前寫的一篇Android中發(fā)送和接收短信就是用BroadcastReceiver組件來(lái)實(shí)現(xiàn)的。當(dāng)電話和短信這個(gè)外部事件發(fā)生時(shí)就可以利用BroadcastReceiver組件來(lái)進(jìn)行處理。BroadcastReceiver不能直接生成與用戶交互的界面,因?yàn)榻缑媸怯葾ctivity負(fù)責(zé)的,換句話說(shuō)對(duì)用戶來(lái)說(shuō)是不透明的,用戶看不到它,這個(gè)和Windows Service 類似,但是BroadccastReceiver可以通過(guò)NotificationManager來(lái)通知用戶發(fā)生了什么事情,也可以使用Toast來(lái)通知用戶。要使用BroadcastReceiver組件,首先要在AndroidManifest.xml中進(jìn)行注冊(cè)或者在代碼中使用Context.registerReceiver()進(jìn)行注冊(cè),只要注冊(cè)了,當(dāng)事件發(fā)生了,即使應(yīng)用沒(méi)有啟動(dòng),android也會(huì)自動(dòng)啟動(dòng)應(yīng)用,來(lái)響應(yīng)發(fā)生的事件。

三、Service組件

????? Service是一種程序,它可以運(yùn)行很長(zhǎng)時(shí)間,但它和BroadcastReceiver組件一樣也沒(méi)有界面,這些服務(wù)可以提供系統(tǒng)的某些能力,來(lái)供調(diào)用,它更像是一組API。例如播放音樂(lè)的Sevice,它可以控制音樂(lè)的播放,停止。通過(guò)startService(Intent service)可以啟動(dòng)一個(gè)service,可以通過(guò)Context.BindService()綁定一個(gè)Service。

四、Content Provider組件

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

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

轉(zhuǎn)載于:https://www.cnblogs.com/vaiyanzi/archive/2010/05/16/1736989.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的android入门之三【应用程序组成】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。