欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android学习笔记(二)App工程文件分析

程序员文章站 2022-04-30 23:21:56
app工程文件分析 关于如何创建一个最简单的android app请参照链接: 《 android学习笔记(一)环境安装及第一个hello world 》 创建完的...

app工程文件分析

关于如何创建一个最简单的android app请参照链接:

《 android学习笔记(一)环境安装及第一个hello world 》

创建完的工程文件如下图所示,本文对一些主要的文件进行分析。

Android学习笔记(二)App工程文件分析
src文件分析

app源文件如图:

Android学习笔记(二)App工程文件分析
打开源文件 mainactivity.java 可看到如下代码:

Android学习笔记(二)App工程文件分析
源码主要功能如下:

app源文件目录

package com.example.firstapp; 

导入app所需的类

import android.os.bundle; 
import android.app.activity; 
import android.view.menu; 

mainactivity继承自activity

public class mainactivity extends activity

重载oncreate方法,使用布局文件初始化activity

@override
protected void oncreate(bundle savedinstancestate) {
  super.oncreate(savedinstancestate);
  setcontentview(r.layout.activity_main);
} 

重载oncreateoptionsmenu方法,使用布局文件初始化menu

@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信息

package="com.example.firstapp"
android:versioncode="1"
android:versionname="1.0"  

配置sdk等级

android:minsdkversion="8"
android:targetsdkversion="19"

配置app资源

配置app的图标、名称及主题等,其资源与res文件夹对应。 

android:allowbackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/apptheme" 

 
配置app的activity和app名称

android:name="com.example.firstapp.mainactivity"
android:label="@string/app_name" 

配置app的intent-filter

action

  android:name="android.intent.action.main"
category

  android:name="android.intent.category.launcher"

最后

以上为app工程文件分析,个人理解,仅供参考。