Android(六)——Android第一周学习
這里寫自定義目錄標(biāo)題
- 1、Android系統(tǒng)框架
- 1.1 應(yīng)用層
- 1.2 應(yīng)用框架層
- 1.3 系統(tǒng)運行層
- 1.4 Linux內(nèi)核層
- 2. Android四大組件及作用
- 2.1 activity 活動
- 2.2 service 服務(wù)
- 2.3 Broadcast Receiver 廣播接受者
- 2.4 Content Provider 內(nèi)容提供者
- 3. Android常用控件以及應(yīng)用場景
- 4. Android編碼規(guī)范
1、Android系統(tǒng)框架
Android系統(tǒng)架構(gòu)分為四層架構(gòu),從高到低分別是 應(yīng)用層,應(yīng)用框架層,系統(tǒng)運行庫層和Linux內(nèi)核層。
1.1 應(yīng)用層
所有安裝在手機(jī)上的應(yīng)用程序都屬于這層,包括系統(tǒng)自帶的聯(lián)系人、信息等程序,還包括自己開發(fā)的程序,所有的應(yīng)用程序都是使用Java編寫的。
1.2 應(yīng)用框架層
這層提供了構(gòu)建應(yīng)用程序時可能用到的各種API,系統(tǒng)自帶的一些程序都是利用這些API完成的,開發(fā)者也可以用這些API構(gòu)建自己的應(yīng)用程序。
(1) View System(視圖系統(tǒng)):可以用來構(gòu)建應(yīng)用程序,它包括列表(lists),網(wǎng)格(grids),文本框(textBoxes),按鈕(buttons),甚至可嵌入的web瀏覽器
(2) Content Provider(內(nèi)容提供器):使得不同應(yīng)用程序之間存取或者分享數(shù)據(jù)
(3) Resource Manager(資源管理器):提供應(yīng)用程序使用的各種非代碼資源,如本地化字符串、圖片、布局文件、顏色文件等
(4) NotificationManager(通告管理器):使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息
(5) Activity Manager(活動管理器):管理各個應(yīng)用程序生命周期以及通常的導(dǎo)航回退功能
(6) TelephonyManager(電話管理器):管理所有的移動設(shè)備功能
1.3 系統(tǒng)運行層
這層主要通過一些C/C++庫(系統(tǒng)庫)來為Android系統(tǒng)提供主要的特性支持,同樣這層還有系統(tǒng)運行時庫,它主要提供一些核心庫,允許開發(fā)者使用Java來編寫Android應(yīng)用,還提供了Dalvik虛擬機(jī),使每一個Android應(yīng)用都能運行在獨立的進(jìn)程當(dāng)中。
系統(tǒng)庫: 是應(yīng)用程序框架的支撐,是連接應(yīng)用程序框架層與Linux內(nèi)核層的重要紐帶。
Android運行時: Android應(yīng)用程序時采用Java語言編寫,程序在Android運行時中執(zhí)行,其運行時分為核心庫和Dalvik虛擬機(jī)兩部分。
1.4 Linux內(nèi)核層
Android是基于Linux2.6內(nèi)核的,這一層為Android設(shè)備的各種硬件提供了底層的驅(qū)動。
2. Android四大組件及作用
2.1 activity 活動
用于顯示界面,凡是在應(yīng)用程序中看到的東西,都會放在活動中
activity 顯示頁面:a.首先activity就是一個單獨的窗口;一個activity相當(dāng)于我們實際中的一個網(wǎng)頁,當(dāng)打開一個屏幕時,之前的那一個屏幕會被置為暫停狀態(tài),并且壓入歷史堆棧中,用戶可以通過回退操作返回到以前打開過的屏幕。b.activity 與 Intent 之間進(jìn)行通訊;c.在進(jìn)行頁面跳轉(zhuǎn)的時候要在AndroidManifest.xml里面進(jìn)行配置聲明,不然在運行的時候會報錯2.2 service 服務(wù)
在后臺默默完成用戶指定的操作
service 服務(wù)a.service用于在后臺完成用戶指定的操作。service分為:started(啟動)和bound(綁定)b.通過startService(Intent service)可以啟動一個Service,通過Context.bindService()可以綁定一個Servicec.開發(fā)人員需要在應(yīng)用程序配置文件中聲明全部的service,使用<service></service>標(biāo)簽。d.Service通常位于后臺運行,它一般不需要與用戶交互,因此Service組件沒有圖形用戶界面。Service組件需要繼承Service基類。Service組件通常用于為其他組件提供后臺服務(wù)或監(jiān)控其他組件的運行狀態(tài)。2.3 Broadcast Receiver 廣播接受者
允許應(yīng)用接收來自各處的廣播消息,如電話、信息等,當(dāng)然應(yīng)用同樣也可以向外發(fā)出廣播消息。
Broadcast Receiver 廣播a.應(yīng)用可以使用它對外部事件進(jìn)行過濾,只對感興趣的外部事件(如當(dāng)電話呼入時,或者數(shù)據(jù)網(wǎng)絡(luò)可用時)進(jìn)行接收并做出響應(yīng)。廣播接收器沒有用戶界面so,它們可以啟動一個activity或serice來響應(yīng)它們收到的信息,或者用NotificationManager來通知用戶。通知可以用很多種方式來吸引用戶的注意力,例如閃動背燈、震動、播放聲音等。一般來說是在狀態(tài)欄上放一個持久的圖標(biāo),用戶可以打開它并獲取消息。b.廣播接收者的注冊有兩種方法,分別是程序動態(tài)注冊和AndroidManifest文件中進(jìn)行靜態(tài)注冊。c.動態(tài)注冊廣播接收器特點是當(dāng)用來注冊的Activity關(guān)掉后,廣播也就失效了。靜態(tài)注冊無需擔(dān)憂廣播接收器是否被關(guān)閉,只要設(shè)備是開啟狀態(tài),廣播接收器也是打開著的。2.4 Content Provider 內(nèi)容提供者
用于應(yīng)用程序之間共享數(shù)據(jù)
Content Provider 數(shù)據(jù)通信a.提供了Content Provider使一個應(yīng)用程序的指定數(shù)據(jù)集提供給其他應(yīng)用程序。其他應(yīng)用可以通過ContentResolver類從該內(nèi)容提供者中獲取或存入數(shù)據(jù)。b.只有需要在多個應(yīng)用程序間共享數(shù)據(jù)是才需要內(nèi)容提供者。c.ContentProvider實現(xiàn)數(shù)據(jù)共享。d.開發(fā)人員不會直接使用ContentProvider類的對象,大多數(shù)是通過ContentResolver對象實現(xiàn)對ContentProvider的操作。e.ContentProvider使用URI來唯一標(biāo)識其數(shù)據(jù)集,通過URI以content://作為前綴,表示該數(shù)據(jù)由ContentProvider來管理。3. Android常用控件以及應(yīng)用場景
按用途分類:文本控件 – TextView:向用戶展示文本的內(nèi)容,不可編輯 – EditText:讓用戶輸入文本的內(nèi)容,它是可以編輯的按鈕控件 – Button:用于和用戶進(jìn)行交互的一個重要空間 – ImageButton圖片控件 – ImageView:用于在界面展示圖片進(jìn)度條控件 - ProgressBar: 用于在界面上顯示進(jìn)度條,表示程序正在加載一些數(shù)據(jù)對話框控件: - AlertDialog:用于在當(dāng)前界面彈出一個對話框,能屏蔽掉其他控件的交互能力 - ProgressDialog:與AlertDialog類似,不同的是會在對話框顯示一個進(jìn)度條4. Android編碼規(guī)范
參考:
添加鏈接描述
總結(jié)
以上是生活随笔為你收集整理的Android(六)——Android第一周学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android(五)——控制UI界面的方
- 下一篇: 自定义Dialog