android的元件 Intent及設計思想

2021-07-09 18:55:31 字數 1494 閱讀 2882

> broadcastreceiver元件:

android總結篇系列:android廣播機制(全域性廣播的local廣播)--

android應用層:

> 整個android系統,實際主要目的,就是打造乙個功能共享的世界。功能共享最重要的互動,於是android創造出一種intent和intentfilter配合的低耦合的互動模型,intent只是一種描述要完成什麼工作跨程序的結構體,而最終如何解析這些intent並完成其響應,是由intentfilter來進行換算,最終是由使用者來決定如何完成。而在intent這種超級互動訊息之上,android進一步把應用程式的實現邏輯拆分成多種特殊的實現:

1. activity:帶顯示與互動能力的部分

2. service:不帶顯示與互動能力的部分

3. content provider:在功能互動之外,提供資料互動能力的部分

4. broadcast receiver:用來處理廣播互動的部分

> activity

android的解決之道,則是將傳統意義上的應用程式,細化成乙個個完成某項功能的部分,這種功能部分,在android世界裡被稱為activity。

一是intent是一種能夠實現跨程序呼叫的資訊傳遞機制,二是intent在訊息傳遞上又很靈活,有一定的動態性。intent不光服務於activity之間的呼叫,還會用於一些不直接與介面打交道的邏輯實現部分,比如我們後面將提到的service,broadcast receiver,以及 notification。

> 光有activity與intent,並不是android應用程式程式設計時的全部。應用程式除了有人機互動介面之外,有可能還需要使用到一些不直接與人互動而在後台長期執行操作;我們還需要有某種機制,能夠提供資料共享,並且在資料共享時能使用統一的訪問機制;最後,我們可能還需要處理以廣播方式傳送的訊息,廣播與intent不同之處在於一到多的方式傳播,同時訊息只在某個時間段內有效。事實上,我們的android程式設計,是被包裝成四個不同的型別,同時通過intent將這些類包裝起來,以解決我們上面提到的,在編寫圖形應用程式裡可能遇到的問題的:

l   intent: 全域性性的、鬆散的訊息傳遞機制

l   activity:帶圖形介面的,可以與使用者進行互動的邏輯實現。

> service

content provider:  提供資料層共享,以crud(create read update delete)方式進行資料訪問來統一化資料讀寫指口一種模型。如果使用了sqlite做後台的資料支援(實際上相當於應用程式mvc模型裡的model部分被sqlite延展開來),我們可以通過contentprovider來各系統內的其他部分提供資料來源,當然系統本身也給我們提供了大量這樣的contentprovider,像setting裡的設定的值、聯絡列表、多**檔案掃瞄結果等。(這種資料層上的共享機制,也是應用程式程式設計上需要加強的技巧之一,因為有了content provider,我們則有可能使用cursor式進行訪問,這時我們就可以使用cursoradapter來自動化地處理資料來源。)

> broadcast receiver

呼叫Android系統設定中的Intent

開發android軟體時,常常需要開啟系統設定或資訊介面,來設定相關系統項或檢視系統的相關資訊,這時我們就可以使用以下語句來實現 如開啟 無線和網路設定 介面 intent intent new intent componentname comp new componentname com.andr...

Android元件介紹

1 所有的元件都是android.view.view中的子類。當有些元件的屬性在本元件內部找不到時,可以到父類中查詢。元件的學習過程就是查詢文件的過程。2.textview 文字元件 靜態的顯示文字。px表示象素。設定文字大小時,必須要帶單位。3.button textview的子類。是特殊的文字元...

Android布局元件

在ui設計中,除了要清除控制項的作用和介面之外,還需要熟悉控制項的布局,布局規定了介面中元素之間的排列方式。android提供了許多種布局,包括linearlayout,relativelayout,tablelayout,absolutelayout等,下面重點介紹這幾種布局方式 linearla...