任何平臺下的應用程序開發,都有屬於自己的程序架構。
搞應用程序開發,不能像無頭蒼蠅般矇頭亂轉,沉下心來,先把最核心,最關鍵的東西弄懂。Android應用程序開發的核心知識就是它的程序架構。
一、理解架構
其實程序架構並沒有那麼玄乎。
Windows下開發MFC應用程序,有它自己的一套架構。
3D遊戲引擎開發的項目,有它自己的一套架構。
只要是軟件開發平臺,都有自己適用的程序架構。
從最淺層看,這些架構都有“源碼”,“資源”等部分,當你創建一個Android的項目後,Eclipse的項目瀏覽欄如圖:
名爲“HappyRunner”的項目中有如下文件夾:
·src:項目的源碼
·gen: 項目打包後的jar包
·Android version-xx: 依賴於android xx版本的jar包
·Android Dependencies :其它一些依賴的jar包
·bin : 生成的可執行文件及其相關文件
·libs :依賴庫,jar文件
·res: 資源文件,如ICON圖標、佈局文件(\layout)和常熟(\values)
android項目中有一個重要的文件類型,xml文件。
xml文件格式簡單,設計來傳輸和存儲數據,被不同的應用程序廣泛作爲數據交換的公共語言。xml文件在android應用程序中的作用類似於網頁編程和QT界面編程的CSS文件,主要用於界面設計和佈局。
每個android項目都有一個“AndroidManifest.xml”設置文件,裏面包含這個Android應用程序具有哪些Activity、Service或者Receiver。
Android應用程序有一下3類:
·前端Activity(Foreground Activity):運行在手機前端程序中。
·後臺服務(Background Services):系統服務(System Service)、系統廣播信息(Broadcast)和廣播信息接收器(Receiver)。
·間隔執行Activity(Intermittent Activity):如線程(Threading)、Notification Manager。
架構與程序包的區別:
如java的jar包,C/C++的命名空間,這些包是一些寫好的標準的模塊,是被編程者(其實是程序)調用的,大大提高了軟件開發的速度;而架構則是文件組織和活動的規則,不同的資源(如代碼、圖片資源、佈局文件、jar包等)按架構的規則編譯成可執行文件APK,APK在架構的規則下按一定規律運行,這個規律,即程序的生命週期。
二、程序的生命週期
android項目沒有main函數,那程序如何開始呢?
首先得知道程序運行的入口啊!
有兩種方法設置項目的入口,即第一個執行的activity:
·AndroidManifest.xml文件中設置。
·在Eclipse圖形界面的“Run as”->“Run Configurations”設置Launch Action。
Android的生命週期如圖: