app工程文件分析
關于如何創建一個最簡單的android app請參照鏈接:
《 android學習筆記(一)環境安裝及第一個hello world 》http://www.jfrwli.cn/article/144221.html
創建完的工程文件如下圖所示,本文對一些主要的文件進行分析。
src文件分析
app源文件如圖:
打開源文件 mainactivity.java 可看到如下代碼:
源碼主要功能如下:
app源文件目錄
1
|
package com.example.firstapp; |
導入app所需的類
1
2
3
|
import android.os.bundle; import android.app.activity; import android.view.menu; |
mainactivity繼承自activity
1
|
public class mainactivity extends activity |
重載oncreate方法,使用布局文件初始化activity
1
2
3
4
5
|
@override protected void oncreate(bundle savedinstancestate) { super .oncreate(savedinstancestate); setcontentview(r.layout.activity_main); } |
重載oncreateoptionsmenu方法,使用布局文件初始化menu
1
2
3
4
5
6
|
@override public boolean oncreateoptionsmenu(menu menu) { // inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.main, menu); return true ; } |
gen與res文件
gen文件夾下r.java文件在創建工程時自動創建,為只讀文件,定義了項目所有資源的索引,里面的每個靜態類都與一個資源對應。
例如:
1. 類drawable與res中包含drawable字樣的文件夾關聯
2. 類layout與res中layout文件夾關聯
3. 類menu與res中menu文件夾關聯
res文件夾下是app所使用的資源文件,其中:
1. drawable與icon相關
2. layout與布局相關
3. menu與menu布局相關
4. value字樣的定義了項目配置中使用的值
舉例: 界面中的文字
value的文件夾下的strings.xml文件中定義了名稱為hello_world的字符串,其值為" hello world! "
layout文件夾下的activity_main.xml中定義了textveiw中的文字為hello_world字符串。
android menifest.xml
app的主要配置文件,內容如下:
配置app信息
1
2
3
|
package = "com.example.firstapp" android:versioncode= "1" android:versionname= "1.0" |
配置sdk等級
1
2
|
android:minsdkversion= "8" android:targetsdkversion= "19" |
配置app資源
配置app的圖標、名稱及主題等,其資源與res文件夾對應。
1
2
3
4
|
android:allowbackup= "true" android:icon= "@drawable/ic_launcher" android:label= "@string/app_name" android:theme= "@style/apptheme" |
配置app的activity和app名稱
1
2
|
android:name= "com.example.firstapp.mainactivity" android:label= "@string/app_name" |
配置app的intent-filter
1
2
3
4
5
6
|
action android:name= "android.intent.action.main" category android:name= "android.intent.category.launcher" |
最后
以上為app工程文件分析,個人理解,僅供參考。