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工程文件分析,个人理解,仅供参考。