从零开始学习Android开发-Android概览
? ? ? ? 沒有開發(fā)過Android、IOS等移動端的開發(fā),記錄從零開始學(xué)習(xí)Android開發(fā)歷程。學(xué)過、用過那么多的語言、開發(fā)模式卻很少留下記錄,一方面是由于曾經(jīng)的工作環(huán)境影響,網(wǎng)絡(luò)受控;一方面是自己長久以來對文字的尊重,總以為非深思熟慮不能成文,非別具匠心不可以發(fā)表;還有就是自己的懶惰,懶得動筆。
人的狀態(tài)總還是多少受環(huán)境影響的,時得清閑,又對Android有幾分興趣,雖然Android已經(jīng)發(fā)展多年,現(xiàn)在學(xué)習(xí)Android可能太晚,但我不求先行,只求窺其一斑;不求文章準(zhǔn)確精美,只求雁過留聲。記錄下學(xué)習(xí)Android的過程,若是能給路人的帶來點啟發(fā),那就是無意間點積德善舉,若是錯誤百出,那也不要怨言,因為每片博文均一氣寫成,邏輯、文字錯誤均沒檢查,甚至寫完后再沒有看過,我本就把博文當(dāng)做隨筆,留個紀(jì)念而已。
我這人學(xué)東西一般是不求甚解,無論什么語言,什么框架均喜歡先學(xué)習(xí)整個結(jié)構(gòu)如何,事件如何處理、數(shù)據(jù)如何存儲、界面如何展示、各頁面如何調(diào)用等。正如每次買到一本新書,總喜歡把先把目錄和前言好好看看,有個大概的映像再去分解閱讀。我這樣的人往往難得深入,一般是了解結(jié)構(gòu)、方法,遇到問題再由點解決問題,就好像是一座樓房只建了框架,哪層賣出去了才建哪層的圍墻,從外看來,不是棟美觀高上大樓房,但也不會影響居住,總是難得討人喜歡罷了。
Android這些年來積累的學(xué)習(xí)資源可為豐富至極,但我一般還是喜歡看官網(wǎng)的資料,一來準(zhǔn)確,二來權(quán)威。所幸Android的官網(wǎng)資料豐富,不久有講解,還有實例(Android Studio中可以直接導(dǎo)入example),大部分還有中文說明,真是方便。開發(fā)工具當(dāng)然選的是Android Studio,Google已經(jīng)宣稱不再支持Eclipse的Android插件了。Android開發(fā)的官網(wǎng)是:https://developer.android.com/guide/index.html。學(xué)習(xí)的方式也按我以往的基本步驟:官網(wǎng)基礎(chǔ)知識,典型開發(fā)模式和開發(fā)框架,典型實例、調(diào)試、測試、打包及更新,自定義Demo。
在官網(wǎng)目錄中有Training和Api Guides兩個目錄,我大略看了一下,可能在學(xué)習(xí)過程中以Api Guides為主,部分例子可參考Training和Samples。
如官網(wǎng)所說:Android 提供了一個內(nèi)容豐富的應(yīng)用框架,支持您在 Java 語言環(huán)境中為移動設(shè)備開發(fā)創(chuàng)新應(yīng)用和游戲。Android不僅僅應(yīng)用于我們熟知的Pad、Phone,還應(yīng)用于智能終端、各類傳感器等多種移動終端。
Android應(yīng)用提供多個入口點:Android 應(yīng)用都是將各種可單獨調(diào)用的不同組件加以組合開發(fā)而成。例如,組件可以是為用戶界面提供一個屏幕的單個“Activity”,也可以是在后臺獨立執(zhí)行工作的“服務(wù)”。這一點真的很吸引人,在一般的應(yīng)用中只有唯一的入口,如VC、VB等應(yīng)用只有一個入口main函數(shù)。在Android中都是組件化的,每個組件可以相互獨立,又可以相互調(diào)用組合完成一個完整的事務(wù),我感覺現(xiàn)在逐漸升溫的微服務(wù)以及云計算里的Dock采用了相似的思路,將功能獨立化,不僅使得節(jié)約了開發(fā)成本,也提高系統(tǒng)健壯性,可測性,好處多多。嗯,我不禁迫切想知道組件之間是如何獨立運行又相互調(diào)用的。
Android操作系統(tǒng)是一種多用戶的Linux系統(tǒng),Android應(yīng)用采用Java語言編寫,最終應(yīng)用將數(shù)據(jù)、代碼和資源一起編譯到一個.apk的存檔文件。一個應(yīng)用以不同的Linux用戶,具有唯一的Linux用戶ID,只能訪問本用戶資源,如果希望多個應(yīng)用訪問共同資源可以采用以下方法:
1.為不同應(yīng)用設(shè)置同一Linux 用戶id
2.通過調(diào)用其他組件訪問相關(guān)資源
Android有四類組件:
1.Activity
主要用于用戶界面展示
2.Service
用于在后臺長時間運行,沒有界面,跟Windows等后臺服務(wù)類似。
3.ContentProvider
? 主要用于數(shù)據(jù)等存取,如:文件系統(tǒng)、SQLite 數(shù)據(jù)庫、網(wǎng)絡(luò)上或您的應(yīng)用可以訪問的任何其他永久性存儲位置。
4.BroadcaseReceive
用于響應(yīng)系統(tǒng)等各類消息。
如何啟動組件?
四種組件類型中的三種 — Activity、服務(wù)和廣播接收器 — 通過名為 Intent 的異步消息進行啟動。組件間相互調(diào)用,主要依賴于Intent。各組件調(diào)用等方法不同,但都通過Intent傳遞數(shù)據(jù)。
1.Activity啟動方法
- 直接調(diào)用采用startActivity(),
- 需要獲取返回值采用startActivityForResult()
2.Service啟動方法
- 直接啟動采用startService(),
- 需要綁定該服務(wù)采用bindService(),即啟動者銷毀,綁定的服務(wù)同時銷毀。
3.BroadCast啟動方法
通過sendBroadcast(),sendOrderedBroadcast() 或 sendStickyBroadcast() 等方法來發(fā)起廣播
4.ContentResolver調(diào)用方法
采用query()調(diào)用。
Android項目文件目錄
1.mainfests
項目文件清單:聲明項目中的各個組件,組件的訪問權(quán)限等。
2.java
項目的源碼目錄:包括源碼、測試代碼
3.res
項目資源文件:包括頁面布局、本地化設(shè)置、全局的字符串定義、圖標(biāo)等。
總結(jié)
以上是生活随笔為你收集整理的从零开始学习Android开发-Android概览的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt 设置当前窗口出现在左右窗口的最前面
- 下一篇: 自学android要多长时间,自学and