android應用程序結構分析
昨天在帖子里看到的一個分析方法,很簡單,給大家分享下!
呵呵,由于我也是剛開始學習Android,還沒有學到下面這些知識,這里就直接截圖了。
看完他這個分析之后,我對Android程序有了一個簡單的認識,若要深入的理解,我想我今后還要在此下很多的功夫。。。。要努力啦。。。。
好了,下面開始介紹他的分析方法:
他拿一個Hello,World做例子,通過分析Hello,World的目錄結構,讓我們對Android程序有一個整體而又全面的認識。
先看一下Lesson2_Helloword的顯示結果:
然后我們再看一下Helloword的程序目錄:
我們可以看到:
1. MainHelloWorld.java文件
2. R.java文件
3. android.jar文件
4. RES、Layout、main.xml文件
5. androidmainfest.xml文件
接下來我們逐個加以講解:
1、Activity類 及 MainHelloWorld文件淺析
Activity是Android中的視圖部分,負責界面顯示。
package android.basic.lesson2.helloworld;import android.app.Activity;
import android.os.Bundle;public class MainHelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
可以看到MainHelloWorld是Activity的子類,子類要重寫onCreate方法。
setContentView(R.layout.main)方法是給Activity設置可以顯示的視圖(View),視圖由R類負責尋找。
2、R文件淺析
我們看到Gen目錄下有個R.Java文件,R文件由ADT自動生成,程序員不需要也不要去修改它,R文件負責調用應用程序中的非代碼資源。
從R文件中可以看到每一個資源都會有一個整數和它相對應。
3、res/layout/main.xml文件淺析 – 布局layout
我們看到有個res目錄,也就是resource目錄,這個目錄下存放資源文件,資源文件的統一管理,也是Android系統的一大特色。現在要注意看的是layout目錄下的main.xml。這個文件的內容是有關用戶界面布局和設計的。在桌面程序設計領域采用XML也許比較新穎,但是在網頁設計領域,這個就很平常了。
從以上代碼可以看到整個程序界面由一個線性布局控件(LinearLayout)和2個文本框控件(TextView)組成。res的其他目錄里的其他文件也都是相關的資源描述。
4、AndroidManifest.xml文件淺析
在每個應用程序的根目錄都會有一個AndroidManifest.xml文件,該文件向Android操作系統描述了本程序所包括的組件,所實現的功能,能處理的數據,要請求的資源等等。
我們看到Manifest是根節點,節點屬性里有versionCode和versionName來表示應用程序的版本;里面可以包含0個或1個application元素,application可以包含多個activity組件等等,具體的內容我們在接下來的課程里詳細講解。
5、Android.jar文件淺析
作為一個Java項目,通常情況下都會引入要用到的工具類,也就是Jar包,在Android開發中,絕大部分開發用的工具包都被封裝到一個名叫Android.jar的文件里了。
如果我們在Eclipse中展開來看,可以看到j2se中的包,apache項目中的包,還有Android自身的包文件。在這里我們簡單了解一下Android的包文件:
android.app :提供高層的程序模型、提供基本的運行環境
android.content :包含各種的對設備上的數據進行訪問和發布的類
android.database :通過內容提供者瀏覽和操作數據庫
android.graphics :底層的圖形庫,包含畫布,顏色過濾,點,矩形,可以將他們直接繪制到屏幕上.
android.location :定位和相關服務的類
android.media :提供一些類管理多種音頻、視頻的媒體接口
android.net :提供幫助網絡訪問的類,超過通常的java.net.* 接口
android.os :提供了系統服務、消息傳輸、IPC 機制
android.opengl :提供OpenGL 的工具
android.provider :提供類訪問Android 的內容提供者
android.telephony :提供與撥打電話相關的API 交互
android.view :提供基礎的用戶界面接口框架
android.util :涉及工具性的方法,例如時間日期的操作
android.webkit :默認瀏覽器操作接口
android.widget :包含各種UI 元素(大部分是可見的)在應用程序的屏幕中使用
關鍵詞:
您可能也感興趣:
為您推薦
保險業去年原保費收入微降0.79% 健康險業務增長3.36%
銀保監會:嚴防銀行保險資金被用于盲目“加杠桿”,強化金融反壟斷
保險打工人年終獎多數和上年持平或下降,怎樣發才合理?
排行
最近更新
- android應用程序結構分析
- LED微型投影機酷樂視X2詳細拆解
- 遠程電源管理系統設計
- 443家上市公司在虎年成立 誕生8只千億市值股
- 線上置辦年貨成為消費市場亮點 節前“異地訂單”快速增長
- 云南醫保異地就醫服務“春節不打烊” 方便群眾正常就醫
- Tezos與歐洲足球俱樂部曼聯達成贊助合作關系
- 波士頓聯儲和麻省理工學院發布OpenCBDC
- 老虎全球管理基金將探索BTC和ETH等加密貨幣交易業務
- 宅家看or出門練?冰雪時光送上新春運動福利
- 打造數字化服務新標桿 榕樹貸款以AI破解數字化轉型痛點
- OATLY進軍烘焙渠道,植物奶開創健康新中點另類“輕”玩法
- 世界癌癥日:乳腺癌預防知識,你了解多少?
- 今日立春 中醫專家教你立春如何養生
- 鉬礦概念龍頭股一覽,鉬礦概念股全部名單
- 能源股票龍頭股有哪些?能源股票概念一覽
- 愛奇藝股票有哪些,愛奇藝概念股票一覽
- 11月15日NMN概念大漲5.17% 雅本化學(300261)漲停
- 900948每股凈資產 伊泰B股900948凈資產是多少
- 內部結構清晰 聯想S400輕薄獨顯本拆解
- 各種端子介紹大全
- 智能交通的發展趨勢與市場前景分析
- 啟動電容和運行電容的區別
- 雙層PCB板制作過程與雙層PCB板制作工藝
- Paypal暴跌,“木頭姐”緊急拋售已接近清倉
- 碳化硅真正的龍頭是誰?A股碳化硅上市公司有哪些
- 300468股票價格 300468股票價格今天多少?(2020/12/16)
- 2022年三元鋰電池概念股名單一覽
- 工業母機股票是什么?工業母機相關龍頭股一覽
- 惠倫晶體是什么概念?惠倫晶體所屬概念解析