app工程文件分析
关于如何创建一个最简单的android app请参照链接:
《 android学习笔记(一)环境安装及第一个hello world 》http://www.zzvips.com/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工程文件分析,个人理解,仅供参考。