Hello Android的庖丁解牛
1 src源代码目录
包含了一个android应用程序中所需要的全部程序代码文件。HelloAndroid.java即为创建Hello Android项目时输入的Activity Name。
关键代码解析:
import android.app.Activity; //导入类库
import android.os.Bundle;//导入类库
public class HelloAndroid extends Activity {//定义应用类,并继承
/**
* 类中的onCreate方法,程序启动时就将运行。
*/
@Override //重写父类方法,注解编程
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);//指定了用户界面引用res/layout/mail.xml是通过过R类实现
}
}
2 gen目录
目录下面为R.java文件是ADT自动生成的。此类相当于资源字典,包含了与用户界面、图像、字符串等各种资源,并且对应资源编号。应用程序通过R类来实现对资源的应用。
代码解析:
/**
* 所有资源都 通过id来标识
* @author shane
*
*/
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
3 android的jar包
项目支持的android类库。
4 assets目录
用于存放项目相关的资源文件,例如文本文件等,在程序中可以使用“getResources.getAssets().open("text.txt")”得到资源文件的输入流InputStream对象。
5 res目录
定义了drawable、layout和values三个目录。
drawable目录用来存放.png、.9.png和.jpg等位图文件,你可以通过Resource.getDrawable(id)获得该资源。
layout负责描述应用程序界面而布局。该目录包含所有使用XML格式的界面描述文件。当然也可以通过java来创建用户界面,不过XML相对简单。程序当中可以通过R.java类来调用此文件。
values参数目录:包含了所有使用XML格式的参数描述文件,参数文件可以为字符串(string.xml)、颜色(color.xml)、样式(style.xml)和数组(arrays.xml)等。同样可以通过R类调用。
mail.xml代码解析:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<!--
LinearLayout指定线型布局方式
xmlns:android="命令空间引用android构架语法"
android:orientation="布局方向为垂直的"
android:layout_width="宽度全部填充父控件"
android:layout_height="高度全部填充父控件"
-->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<!-- TextView 文本显示控件
android:layout_width="宽度全部填充父控件"
android:layout_height="将强制性地使视图扩展以显示全部内容"
android:text="引用string字符串资源的hello标识定义内容"
-->
</LinearLayout>
6 AndroidManifest.xml文件
AndroidManifest.xml是系统控制文件,告知系统处理所创建的所有项层组件(尤其是Activity、Service、IntentReceiver以及Content-Provider )。此为应用程序必要文件,存放根目录下,描述了程序包的全局变量。包括公开的应用程序组件(Activity、Service等)和为每个组件的实现类,指定数据操作范围,运行场景。
Intent过滤器为最核心描述,表示在何时何种情况下让Activity启动。当一个Activity(或操作系统)执行一个动作,将会创建一个Intent对象。该对象描述了操作范围与处理数据类型等信息。Android将Intent对象中的信息与所有应用公开的Intent过滤器比较,找到一个最能恰当处理请求要求的数据和动作的Avtivity。
注:此文件具有指定权限和安全控制和测试。
代码解析:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.shane.android"
android:versionCode="1"
android:versionName="1.0">
<!--
manifest 组件单描述标识
xmlns:android="命令空间引用android构架语法"
package="程序所在的类包"
android:versionCode="程序版本号"
android:versionName="程序版本号"
-->
<application android:icon="@drawable/icon" android:label="@string/app_name">
<!--
application 应用程序描述标识
android:icon="手机上的图标"
android:label="应用程序名称"
-->
<activity android:name=".HelloAndroid"
android:label="@string/app_name">
<!--
activity 活动描述标识
android:name="标识名称"
android:label="名称"
-->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!--
intent-filter Intent过滤器描述标识
action 事件活动标识 android:name="启动应用程序的activity具有action为"android.intent.action.MAIN" 的filter"
category 类型标识 android:name="表示在应用程序启动器中显示类型"
-->
</activity>
</application>
<uses-sdk android:minSdkVersion="7" />
<!-- uses-sdk android:minSdkVersion="SDK小版本号" -->
</manifest>
7 default.properties文件
此文件为项目配置文件,不需要人为改动。系统会自动对其进行管理,主要描述了项目睥版本等信息。
8 bin隐藏文件夹
编译后与执行文件目录:
1.编译类文件生成目录。其中res目录下的资源文件也将生成类文件。
2.生成dex文件,Dalivk虚拟机执行文件。
3.生成apk文件,可以直接复制到移动终端安装,也可以支持AVD。