偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

有關(guān)Android調(diào)用服務(wù)全解析

移動開發(fā) Android
在Android里面進行Android調(diào)用服務(wù), intent filter 是一個默認的 IntentFilter 對象,其他所有的filters 必須在裝箱單中聲明。

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

被激活的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 文件含有程序源代碼和資源。

(注:相當(dāng)于項目文件)裝箱單是一個xml文件,在所有的程序中命名都是AndroidManifest.xml 。它還有一些其他 的功能,如:指明需要連接的庫、識別程序希望被授予的權(quán)限。

但是裝箱單的主要任務(wù)還是向android聲明程序的組件。一份裝箱單的例子:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2.  
  3. <manifest . . . > 
  4.  
  5.     <application . . . > 
  6.  
  7.         <activity android:name="com.example.project.FreneticActivity" 
  8.  
  9.                   android:icon="@drawable/small_pic.png" 
  10.  
  11.                   android:label="@string/freneticLabel"   
  12.  
  13.                   . . . > 
  14.  
  15.         </activity> 
  16.  
  17.         . . .  
  18.  
  19. </application> 
  20.  
  21. </manifest> 

<activity> 節(jié)點的name 屬性指明了 Activity 的類名. icon 和 label 屬性指明了展示activity時用到的資源。另一個節(jié)點的含義差不多 — <service> 是用來聲明services的, <receiver> 用來聲明broadtcast。

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 是當(dāng)前正在運行的activity— 目前正在吸引用戶注意的一個。

當(dāng)一個activity啟動另外一個的時候,新的activity被壓棧,變?yōu)楫?dāng)前activity. 之前的activity 還在任務(wù)中。當(dāng)用戶點擊后退(BACK)鍵,當(dāng)前的acitivity被彈出棧,之前的activity成為正在運行的。

【編輯推薦】

  1. Android應(yīng)用程序組建原理深入剖析
  2. Android SMS短信服務(wù)相關(guān)概念簡述
  3. PythonAndroid數(shù)據(jù)庫相關(guān)代碼解讀
  4. PythonAndroid安裝卸載程序具體操作方法解析
  5. Android應(yīng)用程序的四個關(guān)鍵點
責(zé)任編輯:chenqingxiang 來源: CSDN
相關(guān)推薦

2010-03-05 13:46:12

Android編程學(xué)習(xí)

2010-02-03 17:52:11

Python 2.0

2010-03-04 17:50:42

Android操作系統(tǒng)

2010-02-05 16:44:27

Android平臺

2009-12-25 16:46:48

ADO調(diào)用存儲過程

2010-03-10 15:36:52

交換機

2010-03-10 13:29:01

以太網(wǎng)交換機

2010-02-05 17:55:01

谷歌Android操作

2010-02-05 18:04:36

Android程序框架

2010-02-06 10:14:36

Android Act

2016-12-02 19:00:13

Android FraAndroid

2025-05-28 08:35:00

Nacos服務(wù)訂閱流程開發(fā)

2025-05-29 08:35:00

Nacos服務(wù)注冊開發(fā)

2010-02-06 17:17:17

Android手機

2010-02-05 14:54:56

Android UI

2010-03-02 15:51:05

Android手機

2010-03-03 14:51:02

Android手機

2024-11-11 09:51:46

Nginx部署負載

2025-06-03 08:25:00

Nacos開發(fā)服務(wù)

2010-02-05 14:34:11

Android操作系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號