Android 项目的基本结构
Android 项目的基本结构及其主要文件和类。
引言
在本文中,我将解释 Android 项目的基本结构及其主要文件和类。
背景
我假设您具备一定的 Java 编程知识,并且知道如何在 Eclipse 中进行开发。要开发 Android 项目,您必须安装适用于 Eclipse 的 Android 插件。为此,请选择(在顶部菜单中)帮助 -> 安装新软件,然后在打开的窗口中输入地址:“https://dl-ssl.google.com/android/eclipse/”。如果需要,安装向导将引导您下载完整的 Android SDK。
Android 项目基本结构
在安装完开发 Android 文件所需的所有插件后,您就可以开始开发 Android 应用程序了。从顶部菜单选择文件 -> 项目,然后在“新建项目”窗口中选择“Android 项目”。按照项目设置向导操作,完成向导后,您将拥有一个基本的 Android 应用程序。每个 Android 项目包含几个文件夹:
- src:此文件夹包含 Java 源代码文件。
- gen:生成的 Java 库,此库仅供 Android 内部使用。
- Res:我们可以在这里存储资源文件,例如图片、用于定义布局的 XML 文件等。在此文件夹内还有其他文件夹,如 Drawable、Layout 和 Values。
- Drawable:我们在这里存储各种图形文件。我们可以看到三种类型的 drawable 文件夹。这是因为有许多 Android 设备具有不同的屏幕分辨率。默认情况下,此文件夹有几个版本,例如:Drawable-mdpi、drawable-hdpi 等。这是为了适应不同的屏幕分辨率。
- Layout:这是 XML 布局文件所在的位置。布局文件是 XML 文件,用于定义各种 Android 对象(如文本框、按钮等)在屏幕上的组织方式。
- Values:存储各种字符串值(标题、标签等)的 XML 文件。
Android 项目中的主要文件
- AndroidManifest.xml:这是 Android 的定义文件。它包含有关 Android 应用程序的信息,例如最低 Android 版本、访问 Android 设备功能的权限,如互联网访问权限、使用手机权限的能力等。
- MainLayout.xml:此文件描述了页面的布局。这意味着每个组件(如文本框、标签、单选按钮、用户定义的组件等)在应用屏幕上的放置方式。
Activity
类:每个占据整个设备屏幕的应用程序都需要至少一个继承自Activity
类的类。一个主要的方法是OnCreate
。此方法初始化应用程序并加载布局页面。
Android manifest 文件
典型的 Android.Manifest 文件如下所示
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.firstproject"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".MynewprojectActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
此文件中的一些重要定义
Android:versionCode
:这是一个数值。这是一个重要属性,因为 Android 设备通过它来知道何时提醒用户升级到新版本。Android:sdkMinVersion
:定义了此应用程序可用的最早 Android 操作系统版本。Activity
元素:定义此应用程序中可用的活动以及在启动时必须加载的活动。
布局文件
典型的布局文件如下所示
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>
此布局定义了一个对象,即 TextView
。这是一个文本标签,当程序员想在您的应用程序中放置一个文本标题时使用。
Activity 类
一个主要的类是 Activity
类。我们已经在 android.manifest 文件中将其定义为主 activity 类。它是 Android 应用程序启动后第一个被加载和执行的类。
package com.firstproject;
import android.app.Activity;
import android.os.Bundle;
public class MynewprojectActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
我们在这里可以看到一个名为“onCreate
”的主要方法,当 Activity
类被激活时调用。在我们的具体示例中,我们通过 setContentView(R.layout.main)
行定义了一个布局文件。
让我们看一些代码
我们想将标签中的文本从“Hello World”更改为“Hello New Application”。首先,我们必须将布局中的标签链接到一个 Java 对象。在此之前,我们必须为我们的标签对象指定一个 ID。这可以通过打开我们的布局文件来完成,在我们的具体项目中,该文件名为“main.xml”,位于“res/layout”文件夹中。
在“TextView
”元素中,我们必须添加以下属性
android:id="@+id/myLabel"
之后,让我们打开我们的主 activity 类,在我们的例子中,它名为“MyfirstandroidprojectActivity.java”,并在“OnCreate
”方法中添加以下行
TextView mTextView = (TextView)this.findViewById(R.id.myLabel);
mTextView.setText("Hello my New Project");
第一行定义了屏幕上的“TextView
”对象与 Java TextView
对象之间的链接,第二行定义了“TextView
”对象中的文本字符串。
摘要
本文仅解释了 Android 设备编程的基础知识。如果您想查看一个功能齐全的 Android 应用程序,欢迎访问我的国际象棋应用程序:http://code.google.com/p/pocket-chess-for-android/。您也可以通过 Google Play 上的此地址下载我的国际象棋应用程序到 Android 设备:https://play.google.com/store/apps/details?id=kobi.chess&feature=search_result。