安卓入門基礎知識

1 . 安卓的4大組件: Activity, Service, ContentProvider, BroadcastReceiver.
(1) Activity

一個 Activity 表示一個窗口,Activity 組件繼承 Activity 基類。
通過 SetContentView(View) 來顯示指定的組件,通過 SetTheme(int resid) 來設置窗口的風格。
Activity 主要用於和用戶進行交互。

(2) Service

Service 是在後臺運行,沒有用戶界面,不需要和用戶進行交互。
Service 組件繼承 Service 基類。

(3) BroadcastReceiver

是廣播消息接收器,主要用於監聽,監聽其他組件

(4) ContentProvider

ContentProvider 經常和 ContentResolver 搭配使用,主要用於多個應用程序之間的數據交換。
ContentProvider 用於暴露自己的數據,ContentResolver 用於訪問其他應用程序的數據。

綜上,4大組件分別負責不同的功能,Activity 負責和用戶交互,負責界面,Service 負責後臺負責實踐的響應, ContentProvider 負責多個應用程序之間的數據交換, BroadcastReceiver 負責監聽其他組件。各部分之間各司其職,互相配合,組成了一個完整的安卓應用程序。

 Activity,Service,BroadcastReceiver 三個組件之間通過 Intent 進行通信, Intent是組件之間的通信載體。
 Intent 分爲顯示 Intent 和隱式 Intent,隱式 Intent 需要通過 IntentFilter 來實現(搭配使用)。

安卓以包名作爲唯一標識,如果兩個應用程序的包名相同,則後者會覆蓋前者。

如下圖,表示的是安卓的一些基本容器和組件:

這裏寫圖片描述

1 View 是所有UI控件,容器控件的基類,是一個空白的矩形區域。
2 ViewGroup 繼承自 View,並作爲其他組件的容器使用
3 安卓中有常見的6種佈局方式,絕對佈局,相對佈局,幀佈局,線性佈局,網格佈局以及表格佈局,繼承關係如圖所示。

安卓中的事件處理方式有兩種:

基於回調的事件處理
基於監聽器的事件處理

1 基於回調的事件處理:

直接重寫特定的回調方法即可
用一個類來繼承基類並重寫基類的方法
將這個類用在Activity上

2 基於監聽器的事件處理:

將處理方法(類)註冊到組件上
觸發組件,產生事件
將事件作爲參數傳入處理方法中

接下來,我們來介紹安卓的一些運行原理:
安卓是硬件設備+linux操作系統,linux操作系統是多用戶的,一個安卓設備可以安裝多個app,一個app就代表一個用戶,有一個獨立的 linux Id,這個ID只有系統知道,app本身並不知道。
上面已經說過,一個安卓設備可以安裝多個app,每個app有自己獨立的盒子,app獨立運行 ,獨立於其它app。
一個app運行,會開一個linux進程,每個進程都有自己的虛擬機。
Android Stutio內置了SQLite 數據庫,大部分數據都存在數據庫中,linux 系統爲SQLite 數據設置訪問權限。
一個app中有很多組件,4大組件是 Activity, Service, ContentProvider, BroadcastReader, 4大組件上文已經詳細介紹過,Activity 是窗體,是和用戶交互的,Service 是後臺服務,主要指的是後臺運行的服務,如你當前在逛知乎,後臺在播放網易雲,BroadcastReader 是廣播,大部分廣播都是響應系統發送的廣播,大部分都是硬件信息,如電池電量等。

安卓沒有Main 入口點,不同進程之間有權限設定,”A”款app不能直接訪問”B”款app的組件,但是可以間接通過系統來訪問,系統可以訪問(激活)任何app的任何組件。
Activity , Service, BroadcastReader三種類型的組件都可以通過Intent 激活(訪問), Intent可以簡單理解爲各個組件之間的信使,ContentProvider 組件不能通過Intent 激活。通過Intent 避免了部分權限訪問問題。

AndroidManifest.xml 是配置文件,主要作用是聲明一款app所需要的設備和軟件,即只有符合特定要求的設備和軟件才能安裝本款app. 安卓系統在啓動組件的時候去訪問 Manifest.xml 文件,從而知道本款app擁有哪些組件,方便後期對組件進行操作。

聲明一款app所需要的設備和軟件,主要是給第三方應用如 google play, 豌豆莢等使用,第三方平臺會根據此消息對app進行過濾。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章