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

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


咨詢
建站咨詢
