Android概述

mgoann發表於2020-04-06

1. Android是什麼?

 

         Android是一個平臺,主要包括Linux微核心,中介軟體(SQLite等),關鍵應用(電話本、郵件、短訊息、GoogleMap、瀏覽器等),提供的Java框架,以及Android中的JVM

 

2.Android關鍵類

 

         檢視,ContentProviders(應用互動管理類)、ResourceManager非編碼資源管理類、NotificationManager(通告管理類)、ActivityManager(生命週期管理類)。

 

3.介面開發

 

         這一塊主要討論了Android的介面開發機制,可以講元件的初始化抽取出來放到配置檔案中,元件更新用編碼方式來處理。

 

4.應用構成

 

         Android的應用一般由以下四個關鍵部分構成ActivityIntentReceiverServiceContentProvider。其中Activity是必要部分。

         應用場合:

         Activity每個應用都是必須得,Activity代表一個應用的一個具體的介面管理類,其本身並不顯示。

         IntentReceiver可使應用對外部事件做出響應,比如,當應用正在執行,突然有了來電,這個時候可使用IntentReceiver做出處理是應用更健壯。

         Service Android應用的生命週期是由Android系統來決定的,不由具體的應用的執行緒左右。當應用要求在沒有介面顯示的情況還能正常執行,(要求有後臺執行緒,而後臺執行緒是不會被系統回收,直到執行緒結束)這個時候就需要用到Service

         ContentProvider 可以說ContentProvider封裝很多Android當中的上下文環境,包括SQLite,這就使得在不同應用之間互動成為可能。

 

5.佈局管理

 

         FrameLayout:左上角只顯示一個元件。

         LinearLayout:線性佈局管理器,分為水平和垂直倆中,只能進行單行佈局。

         TableLayout:任意行和列的表格佈局管理器。其中TableRow代表一行,TableRow的每一個檢視元件代表一個單元格。

         AbsoluteLayout:絕對佈局管理器,座標軸的方式,左上角是(00)點,往右x軸遞增,往下Y軸遞增。

         RelativeLayout:相對佈局管理器,更具最近一個檢視元件,或是頂層父元件來確定下一個元件的位置。

 

6.Activity互動

 

         Intent方式:Intent其實就是用來在Activity之間做互動用的,需要說明的是Intent有個意圖說明,值得用深究,舉個簡單的例子,有種叫Intent.ACTION_CALL,可直接撥打電話。

         SharedPreferencesAndroid平臺上一個輕量級的儲存類,主要是儲存一些常用的配置。SharedPreferences類似過去Windows系統上的ini配置檔案,但是它分為多種許可權,可以全域性共享訪問,最終是以xml方式來儲存,效率不如Intent,但是由於可以共享,所有可以再Acitivity之間互動。但其效率比SQLite要高。

         SQLite也就是資料庫,這種方式不推介,因為其效率問題,如果是在不同應用之間互動,可以考慮SQLite。或是永久儲存的情況下。

 

7.Android生命週期

 

         理解Android生命週期非常重要,主要有以下幾點

         每一個Android應用都是以一個程式的方式執行的,其生命週期不是有自身控制,而是由系統根據執行的應用的一些特徵來決定。

         所有理解好Android生命週期對你的應用什麼時候會被系統回收很重要。

         理解好生命週期可提高應用的健壯性。比如應用的初始化應該放到onCreate方法中,應用暫停的時候應用重寫onPause方法來儲存當前應用操作結果。

 

8. SQLite

 

         SQLiteAndroid中提供的內建資料庫,據說比MySql更輕巧。SQLite也是開源產品。資料庫的操作方式主要有以下倆中:

 

         SQL語句直接操作,插入、更新、刪除都可以直接寫SQL語句,呼叫execSQL()就可以,而查詢需要使用rawQuery()來完成,查詢結果返回是一個可滾動的結果集,Cursor在對Cursor操作前,需要將其遊標移動到第一位,每取一個結果向下移一位。

 

9.Android實際開發經驗分享

 

         1 自定義元件的顯示問題,在寫自定義View的時候經常要對檢視的XY調整,以達到預期的理想位置。可以講每個元件的XY座標值畫到元件旁邊,這樣很直觀,一看就知道該怎樣調整。

 

         2 使用Log來列印日誌和進行除錯。

 

         3 使用LogCat檢視,在showView中有LogCat檢視,LogCat檢視會顯示一些Android模擬器列印出的堆疊資訊,對應用的除錯非常有幫助,另外Log列印的日誌也在這邊顯示。

 

         4 使用Emulator Control檢視,Emulator Control可以完成一些簡單的裝置操作,比如,模擬來電,短訊息。

 

         5 活用tools目錄下的工具,該目錄在Android SDK中都有提供,通過這些工具可以操作Android模擬器,比如,建立一個虛擬SD卡,將系統中的檔案移動到虛擬SD中,Android都有提供相應的工具,相關命令可以上網查閱。

小弟不才,希望能拋個磚。有不對請及時指出,小弟先謝過!