成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

有關Android調用服務全解析

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

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

被激活的activity可以通過調用 getIntent() 方法獲取激活它的intent。Android調用服務acitivity的onNewIntent() 方法來傳送其他后來的intent。(注:一個activity可以同時被多個intent激活)Activity經常會調用其他的activity,如果它需要被調用的activity返回的數據,可以調用startActivityForResult() 方法,而不是 startActivity()。

例如,某個activity調用另外一個activity用來讓用戶選擇一個圖片,另外一個activity應該返回用戶選擇的圖片。結果通過第一個activity的onActivityResult() 返回,返回的形式也是intent。service通過調用 Context.startService()被開始。Android調用服務的onStart() 方法,并把intent傳送給它。

類似的,intent可以通過 Context.bindService() 方法建立同正在運行的服務的聯系。服務通過onBind() 方法獲取intent。如果服務沒有啟動, bindService() 方法可以選擇是否啟動服務。例如,一個activity可能會想建立與后臺播放音樂的服務的通信。

這樣用戶就可以通過activity控制后臺的播放。因此activity可能會調用 bindService() 方法來建立連接,然后再調用service公開的接口。程序可以調用Context.sendBroadcast(), Context.sendOrderedBroadcast(), 和Context.sendStickyBroadcast()來傳遞intent初始化一個broadcast。broadcast 通過 onReceive() 方法接收。

Android開始一個應用程序之前,它必須知道有哪些文件,因此程序必須在一個manifest文件中聲明所有用到的組件。這些聲明的組件會被編譯到apk文件中。.apk 文件含有程序源代碼和資源。

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

但是裝箱單的主要任務還是向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> 節點的name 屬性指明了 Activity 的類名. icon 和 label 屬性指明了展示activity時用到的資源。另一個節點的含義差不多 — <service> 是用來聲明services的, <receiver> 用來聲明broadtcast。

Android調用服務聲明 content providers. Activities, services。 content providers需要聲明,對系統不可見。另外, broadcast receivers可以不在裝箱單中聲明,可以動態得在代碼中聲明。

(見BroadcastReceiver 對象)通過 Context.registerReceiver()方法向系統注冊。對用戶來說,即使地圖程序是定義在另外一個程序中、在另外一個進程中運行,但是它看起來好像你的程序的一部分。

Android通過將2個activities放在用一個任務中,使得用戶有這樣的體驗。這一系列的activities,安排在一個堆棧中。堆棧中的根activity是任務的開始,或者說是用戶選擇的應用程序的第一個activity。堆棧頂部的activity 是當前正在運行的activity— 目前正在吸引用戶注意的一個。

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

【編輯推薦】

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

2010-03-05 13:46:12

Android編程學習

2010-02-03 17:52:11

Python 2.0

2010-03-04 17:50:42

Android操作系統

2010-02-05 16:44:27

Android平臺

2009-12-25 16:46:48

ADO調用存儲過程

2010-03-10 13:29:01

以太網交換機

2010-03-10 15:36:52

交換機

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-29 08:35:00

Nacos服務注冊開發

2025-05-28 08:35:00

Nacos服務訂閱流程開發

2010-02-05 17:55:01

谷歌Android操作

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開發服務

2010-02-05 14:34:11

Android操作系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久亚洲国产精品 | 天天看天天操 | 天天综合91| 久久精品视频99 | 欧美日韩成人 | 一区网站| 97色伦网| 国产高清一二三区 | 精品中文字幕久久 | 亚洲午夜在线 | a级黄色网 | www.久久 | 玖玖国产 | 久久久久久成人 | 国内自拍偷拍一区 | 欧洲在线视频 | 国产区高清 | 色婷婷影院 | 亚洲福利在线视频 | 欧美黑人国产人伦爽爽爽 | 久久综合国产精品 | 青春草国产 | av片免费 | 日韩精品视频中文字幕 | 天天草天天干天天 | 国产成人免费视频网站高清观看视频 | 精品视频在线免费观看 | 欧美在线一区二区三区 | 97精品超碰一区二区三区 | 国产亚洲精品精品国产亚洲综合 | 伦理午夜电影免费观看 | 天天干.com | 亚洲成人免费在线观看 | 国产精品欧美大片 | 在线观看免费av片 | 久久午夜剧场 | 久久88| 国产成人高清成人av片在线看 | 精品视频在线播放 | 日韩黄a| 国产成人精品免费 |