.Net碼農學Android---系統架構和基本概念


至此,你應該已經完成以下前期准備事情:

1.安裝完JDK

2.安裝完SDK(並在Manager中進行相關版本的更新)

3.相關IDE(如eclipse)

4.安裝完ADT

5.安裝完AVD(如果你是真機模擬的話也可以不安裝)

前期環境搭建基本完成,並按照網上的教程可以運行出HelloWorld,確保可以流程走的通。

所謂會當凌絕頂,一覽眾山小。我學習新東西時總會從系統或全局的角度對它進行一個總覽,這樣才能從更高的角度去把握它,而且你對接下來的學習也會有一個系統的認知會讓之后的學習更有條理和針對性。

 

一.接下來就是要介紹一下Android的基本系統架構了

在最外的是負責直接和用戶交互的應用層,就是通常意義上我們看得見、可以下載的應用,瀏覽器、游戲、音樂播放器等等。

緊接着是應用的框架層,在我們開發應用時會經常調用,比如ActivityManager,ViewSystem等等,后面會介紹。

再接這就到了運行機制的JVM層了,你可以看到它不但包含了一個Runtime,而且還有一些相關的類庫。

最低層是基於Linux的內核,包含了一些硬件的驅動,主要負責和硬件進行交互,比如你可以在你的應用中調用照相機,Wifi接口等都是很方便的。

 

 

二.工程組織和結構

接下來我們右鍵new一個AndroidApplication項目,如果找不到的話在new選項里最下面的others中如下:

QQ截圖20140616095753

一路next,建好后如下:

QQ截圖20140616100141

 

 

 

三.來認識一下各個文件夾都是干什么的

src:存放你的源碼,比如.java文件,可以理解為vs中的類庫.cs文件之類的。

gen:系統生成的東西,不要去改動,展開后如下:QQ截圖20140616100409,這里的R文件會經常用到,里面都是存放的一些類似注冊的全局ID(后面會介紹)。

GoogleApis:就是要到的一些SDK中谷歌的接口。

AndroidPrivateLibarares:安卓的一些類庫。

AndroidDependencies:安卓的一些依賴庫。

assets:存放你項目中的“大”資源文件,比如圖片、視頻、媒體等,所謂“大”只因為在Android項目中還有一個資源文件夾res主要存放一些字體、文字、顏色等的“小”資源。

bin:這個不用說了吧。

libs:類似vs中的dll引用。

res:主要存放一些字體、文字、顏色等的“小”資源。展開如下:

QQ截圖20140616101606

主要會用到layout和values,(其他的可能也會大量用到,只不過自己也還在摸索中)

layout:用來存放布局文件

values:用來存放文字,顏色等,kv值(這里有一點需要注意,在Android開發中,為了保持項目的靈活性和避免硬編碼,它會建議你把要用到的kv值存到一個文件里,在用到的地方直接引用,這就是為什么要有values文件夾的原因了)。

AndroidManifest.xml:這個文件很重要,是用來保存整個程序的相關配置的一個清單,比如項目名,版本號、啟動activity、權限說明等。

 

 

三.認識完工程結構后,我們來了解幾個基本概念。

因為以前在學校學過java(雖然已經忘記的差不多了),所以自己還算有些基礎,對一些基本的語法和使用還是有些了解的,如果你對java一無所知,我建議你先花一兩個小時看看基本的語法,比如怎么繼承,怎么實現接口,相信我作為一名c#的程序員,你可能只需要10分鍾就可以搞定了,因為你會發現它和c#是多么驚人的相似!

好了,到這我們才真正開始!

作為一個對移動應用開發倍感神秘的初學者來說,我只想知道,我應該怎么開始,它到底是怎么實現並顯示在手機上的。

我們打開layout文件夾中的activity_main.xml,看到了吧,是不是似曾相識(控件+布局+代碼)

QQ截圖20140616103832

這個就是程序的啟動頁,類似於main方法 ,就是入口,當然你也可以自己設置其他的入口頁。

 

幾個概念:

1.Activity:這個是最常用到的一個概念,你可以把它理解為當前活動得屏幕,就是呈現在手機上的一個頁,聯想web頁。

這是Activity的生命周期

QQ圖片20140616104622

Activity的可視生命周期為OnStart()開始直到OnStop()結束(可能會看不見內容,但會保留相關資源)

Activity的前台生命周期為OnStart()開始直到OnStop()結束(在最前面和用戶進行交互)

2.包名:java中的“包名”類似我們c#中的命名空間,一個“包”就是一個dll引用文件。不過我覺得eclipse中有一點做得很好,即你在用到一個方法或類時不用再頂部import它好像會自動的幫你完成,vs中好像還得手敲一下。

java中要確保包名唯一所以一般用公司域名的反寫來命名比如com.letchoice.HelloWorld。

 

 

三.幾個快捷鍵和相關設置

1.格式化代碼:ctrl+shift+F(有代碼潔癖同學首選)

2.在你格式化xml文檔的時候可能會有些問題,如下設置即可

QQ截圖20140616113644

3.對於用慣了vs的你來說,可能已經適應了vs的智能提示功能,在eclipse中這點可能做得沒有vs好,你只有在輸入“.”之后才能出現提示,如果你想讓它像vs中一樣隨時智能提示和補全代碼的話,你可以window—>preference打開設置面板如下

QQ截圖20140616113221

將標識的地方的”.”改成“abcdefghijklmnopqrstuvwxyz.”保存就ok了。

4.Xml代碼提示和補全功能設置如下:

QQ截圖20140616113618

即將圖中標識地方改成"<=:abcdefghigklmnopqrstuvwxyz@ "即可。

 

自己對於Android開發和java的使用還都處於摸索當中,難免出現疏漏和錯誤,還望大家多多批評指正,和你們共勉!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM