初識Android
認識Android
Android本意指”機器人“,Google公司將Android的標識設計為一個綠色的機器人,表示Android系統符合環保理念,它是一個輕薄短小、功能強大的移動系統,是為手機打造的開放性系統,
Android簡介
Android作業系統最初是由安迪·魯賓開發的,2005年被Google公司收購,并于2007年11月5日正式向外界展示了這款系統,
Android系統架構
Android的系統架構采用了分層架構的思想,從上到下共包括4層,分別是應用程式層、應用程式框架層、系統運行庫層和Linux內核層,
應用程式層
該層提供一些核心應用程式包,例如電子郵件、短信、日歷、地圖、瀏覽器和聯系人管理等,同時,開發者可以利用Java語言設計和撰寫屬于自己的應用程式,而這些程式與那些核心應用程式彼此平等、友好共處,
應用程式框架層
該層是Android應用開發的基礎,開發人員大部分情況下是在和它打交道,應用程式框架層包括活動管理器、視窗管理器、內容提供者、視圖系統、包管理器、電話管理器、資源管理器、位置管理器、通知管理器和XMPP服務10個部分,在Android 平臺上,開發人員可以完全訪問核心應用程式所使用的API框架,并且,任何一個應用程式都可以發布自身的功能模塊,而其他應用程式則可以使用這些已發布的功能模塊,基于這樣的重用機制,用戶便可以方便地替換平臺本身的各種應用程式組件,
運行庫和Android運行時
系統庫包括9個子系然,分別是圖層管理、媒體庫、SQLite、OpenGL EState、FreeType、WebKit、SGL、SSL和libc,
其中,SQLite是遵守ACID 的關系資料庫管理系統,它包括在一個相對小的C程式中;OpenGL (OpenGraphics Library,開放圖形庫)是個定義了一個跨編程語言、跨平臺的應用程式介面(API)的規范,它用于生成二維和三維影像,
Android運行時包括核心庫和 Dalvik虛擬機,前者既兼容了大多數Java語言所需要呼叫的功能函式,又包括了Android的核心庫,如android.os、android.Net、android.media等;后者是一種基于暫存器的Java虛擬機,主要實作對生命周期的管理、堆疊的管理、執行緒的管理、安全和例外的管理及垃圾回收等重要功能,
Linux內核層
Android核心系統服務依賴于Linux內核,如安全性、記憶體管理、行程管理、網路協議堆疊和驅動模型,Linux內核也是作為硬體與軟體堆疊的抽象層,驅動:顯示驅動、攝像頭驅動、Flash記憶體驅動、Binder (IPC)驅動、鍵盤驅動、WiFi驅動、Audio驅動和電源管理等,
Android開發環境搭建
Android是基于Java開發的,因此需要先配置好系統的Java開發環境,其次是Android開發環境及模擬器,
Windows環境下搭建步驟:
- 配置Java環境
- 配置Android Studio環境
- 配置Genymotion模擬器
- 配置模擬器與Android Studio關聯
具體的步驟網上有很多優秀的方法分享,這里就不寫了,
Android中的R檔案
在Android學習程序中,經常看到好多R檔案,還會遇到R檔案報錯,向我這樣的初學者很頭疼,既不懂,也不能解決,
什么是R檔案?
在Android Studio默認的工程檔案中是找不到R檔案的,需要切換到工程目錄才可以查看R檔案,
Android應用程式被編譯后會自動生成一個R類,其中包含了所有res/目錄下的ID,如布局檔案、資源檔案及圖片檔案(values下的所有檔案)的ID等,在撰寫Java代碼需要用這些資源的時候,可以使用R類,通過子類 + 資源名或者直接使用ID來訪問資源,
R.java檔案是活動的Java檔案(如MainActivity.java)和資源檔案(如 strings.XML)之間的“膠水“,一般不建議直接修改R.java檔案的內容,因為修改會破壞整個工程的資源資訊,
通過R檔案實作資源呼叫
情況有兩種:Java代碼中使用和XML代碼中使用,
Java代碼中使用
Java文本:
txtName.setText(getResources().getText(R.string.name));
圖片:
imgIcon.setBackgroundDrawableResource(R.drawable.icon);
顏色:
txtName.setTextColor(getResource().getColor(R.color.red));
布局:
setContentView(R.layout.main);
控制元件:
txtName = (TextView)findViewById(R.id.txt_name);
XML中使用
通過@xxx即可得到.
比如這里獲取文本和圖片:
<TextView
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/img_back"/>
"@+id/string_name"運算式
在布局檔案當中需要為一些組件添加Id屬性作為標示,可以使用如下的運算式“@+id/string_name”,
其中“+”表示在 R.java 的名為id的內部類中添加一條記錄,如“@+id/button”的含義是在 R.java 檔案中的 id 這個靜態內部類添加一條常量名為button,該常量就是該資源的識別符號,如果id這個靜態內部類不存在,則會先生成它,
通過該方式生成的資源識別符號,仍然可以以“@id/string_name”的方式參考,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/271201.html
標籤:其他
上一篇:Swift 進階(一)基礎語法
下一篇:iOS-審核4.3入坑(已出坑)
