新聞中心
進(jìn)行Android調(diào)用服務(wù)時(shí),你的程序只需要建立一個(gè)intent對(duì)象,這個(gè)intent對(duì)象包含請(qǐng)求的數(shù)據(jù),并調(diào)用startActivity(),當(dāng)前的acitivity被彈出棧,之前的activity成為正在運(yùn)行的。

創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比華鎣網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式華鎣網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋華鎣地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴(lài)。
被激活的activity可以通過(guò)調(diào)用 getIntent() 方法獲取激活它的intent。Android調(diào)用服務(wù)acitivity的onNewIntent() 方法來(lái)傳送其他后來(lái)的intent。(注:一個(gè)activity可以同時(shí)被多個(gè)intent激活)Activity經(jīng)常會(huì)調(diào)用其他的activity,如果它需要被調(diào)用的activity返回的數(shù)據(jù),可以調(diào)用startActivityForResult() 方法,而不是 startActivity()。
例如,某個(gè)activity調(diào)用另外一個(gè)activity用來(lái)讓用戶(hù)選擇一個(gè)圖片,另外一個(gè)activity應(yīng)該返回用戶(hù)選擇的圖片。結(jié)果通過(guò)第一個(gè)activity的onActivityResult() 返回,返回的形式也是intent。service通過(guò)調(diào)用 Context.startService()被開(kāi)始。Android調(diào)用服務(wù)的onStart() 方法,并把intent傳送給它。
類(lèi)似的,intent可以通過(guò) Context.bindService() 方法建立同正在運(yùn)行的服務(wù)的聯(lián)系。服務(wù)通過(guò)onBind() 方法獲取intent。如果服務(wù)沒(méi)有啟動(dòng), bindService() 方法可以選擇是否啟動(dòng)服務(wù)。例如,一個(gè)activity可能會(huì)想建立與后臺(tái)播放音樂(lè)的服務(wù)的通信。
這樣用戶(hù)就可以通過(guò)activity控制后臺(tái)的播放。因此activity可能會(huì)調(diào)用 bindService() 方法來(lái)建立連接,然后再調(diào)用service公開(kāi)的接口。程序可以調(diào)用Context.sendBroadcast(), Context.sendOrderedBroadcast(), 和Context.sendStickyBroadcast()來(lái)傳遞intent初始化一個(gè)broadcast。broadcast 通過(guò) onReceive() 方法接收。
在Android開(kāi)始一個(gè)應(yīng)用程序之前,它必須知道有哪些文件,因此程序必須在一個(gè)manifest文件中聲明所有用到的組件。這些聲明的組件會(huì)被編譯到apk文件中。.apk 文件含有程序源代碼和資源。
(注:相當(dāng)于項(xiàng)目文件)裝箱單是一個(gè)xml文件,在所有的程序中命名都是AndroidManifest.xml 。它還有一些其他 的功能,如:指明需要連接的庫(kù)、識(shí)別程序希望被授予的權(quán)限。
但是裝箱單的主要任務(wù)還是向android聲明程序的組件。一份裝箱單的例子:
- version="1.0" encoding="utf-8"?>
. . . > . . . > android:name="com.example.project.FreneticActivity" - android:icon="@drawable/small_pic.png"
- android:label="@string/freneticLabel"
- . . . >
- . . .
Android調(diào)用服務(wù)聲明 content providers. Activities, services。 content providers需要聲明,對(duì)系統(tǒng)不可見(jiàn)。另外, broadcast receivers可以不在裝箱單中聲明,可以動(dòng)態(tài)得在代碼中聲明。
(見(jiàn)BroadcastReceiver 對(duì)象)通過(guò) Context.registerReceiver()方法向系統(tǒng)注冊(cè)。對(duì)用戶(hù)來(lái)說(shuō),即使地圖程序是定義在另外一個(gè)程序中、在另外一個(gè)進(jìn)程中運(yùn)行,但是它看起來(lái)好像你的程序的一部分。
Android通過(guò)將2個(gè)activities放在用一個(gè)任務(wù)中,使得用戶(hù)有這樣的體驗(yàn)。這一系列的activities,安排在一個(gè)堆棧中。堆棧中的根activity是任務(wù)的開(kāi)始,或者說(shuō)是用戶(hù)選擇的應(yīng)用程序的第一個(gè)activity。堆棧頂部的activity 是當(dāng)前正在運(yùn)行的activity— 目前正在吸引用戶(hù)注意的一個(gè)。
當(dāng)一個(gè)activity啟動(dòng)另外一個(gè)的時(shí)候,新的activity被壓棧,變?yōu)楫?dāng)前activity. 之前的activity 還在任務(wù)中。當(dāng)用戶(hù)點(diǎn)擊后退(BACK)鍵,當(dāng)前的acitivity被彈出棧,之前的activity成為正在運(yùn)行的。
【編輯推薦】
- Android應(yīng)用程序組建原理深入剖析
- Android SMS短信服務(wù)相關(guān)概念簡(jiǎn)述
- PythonAndroid數(shù)據(jù)庫(kù)相關(guān)代碼解讀
- PythonAndroid安裝卸載程序具體操作方法解析
- Android應(yīng)用程序的四個(gè)關(guān)鍵點(diǎn)
網(wǎng)站名稱(chēng):有關(guān)Android調(diào)用服務(wù)全解析
文章來(lái)源:http://fisionsoft.com.cn/article/cocpdsh.html


咨詢(xún)
建站咨詢(xún)
