前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >速读原著-Android应用开发入门教程(HelloActivity程序的运行)

速读原著-Android应用开发入门教程(HelloActivity程序的运行)

作者头像
cwl_java
发布2020-01-15 10:41:15
3730
发布2020-01-15 10:41:15
举报
文章被收录于专栏:cwl_Javacwl_Java

第 4 章 Android应用程序示例

在软件开发的最初阶段,通常使用一个 Hello World 程序作为最简单的示例,本部分介绍一个 Android 中最简单应用程序,通过这部分内容可以了解到 Android 程序的文件结构和编译后的结构。

4.1 HelloActivity程序的运行

HelloActivity 是一个简单的 Android 应用程序,其工程文件名称为 HelloActivity,在 Android 的源代码和SDK 中,都包含了这个包。

HelloActivity 的图标和运行情况如图所示。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这个程序有一个简单的活动(Activity),用于启动一个新的界面,并在界面上显示 “Hello,World!”字符串。

4.2 HelloActivity的源文件结构

HelloActivity 工程的源文件的结构按照目录树的方式如下所示: HelloActivity/ |-- Android.mk (工程管理文件) |-- AndroidManifest.xml (工程描述文件) |-- res (资源文件) | |-- layout | | -- hello_activity.xml (布局文件) |– values | -- strings.xml (字串资源文件) |-- src (Java 源代码文件)– com -- example– android -- helloactivity– HelloActivity.java

HelloActivity 工程中另有一个 tests 目录,其中也具有自己的 Android.mk 和 AndroidManifest.xml 文件,这 是另一个工程,是 HelloActivity 工程的测试程序。

4.2.1.Android.mk文件

Android.mk 文件是 Android 的工程管理文件,这个文件只在源代码开发的时候使用,在 SDK 的开发中不需要使用,它包含在工程的根目录中,其内容如下所示:

在这里插入图片描述
在这里插入图片描述

Android.mk 文件是 Android 编译过程中通用的工程管理文件,本地程序、本地库和 Java 程序包都使用这个文件。这个文件仅仅在基于源代码开发的情况中使用,在 Java 应用程序工程的管理中,该文件不用定义过多的内容,其中关键的内容是使用 include $(BUILD_PACKAGE)表示从当前目录编译 Java 应用程序包。

LOCAL_PACKAGE_ NAME定义的是这个程序的APK包的名称。LOCAL_MODULE_TAGS表示这个包的类型。这个包的 LOCAL_MODULE_TAGS 定义成了 samples,这将编译 APK 包,但是不安装在系统中。使用不同的值,可以决定是否编译和安装,例如使用 eng,将安装到目标系统中。

最后一行的 include $(call all-makefiles-under,$(LOCAL_PATH)),表示包含本目录的子目录中的 Android.mk文件,本例中也就是 tests 目录中的内容。

4.2.2.AndroidManifest.xml文件

AndroidManifest.xml 文件是这个 Android 应用程序的工程描述文件,包含了宏观上的内容,如下所示:

在这里插入图片描述
在这里插入图片描述

application(表示应用程序)标签中包含了一个 activity(表示活动)。活动是应用程序中的一个组件,一个应用程序中也可以包含若干个组件。包名定义为 com.example. android.helloactivity ,表示将从 src 目录的com/example/android/helloactivity 中寻找程序中的 Java 源代码。活动名称将被定义为 HelloActivity,表示活动的代码是上述源代码目录中的 HelloActivity.java 文件。intent-filter 中的内容指定了程序的启动方式,这里 category中的 android.intent.category.LAUNCHER 表示活动将在 Android 的桌面(Android 默认的桌面程序名称也是LAUNCHER)上出现。

这里指定 application 的 android:label 为"Hello,Activity!",这和桌面图标下面的文字以及活动启动后上面的标题文字是一致的。本例没有指定图标,所以桌面上的图标使用的是默认图标。在 AndroidManifest.xml 文件中为一个活动指定 label(标签)和 icon(图标)的方法 如下所示:

在这里插入图片描述
在这里插入图片描述

android:label 指定为字符串、android:icon 指定为图标后,将使用 res/drawable 中对应名称的图片文件作为图标(本例中将使用 icon_name.png)。

activity 和 application 都具有 android:labelandroid:icon 等属性,由于活动是程序的单元,且应用可以包含多个活动,因此程序首先将使用 activity 中的这些标签,如果没有则使用上一级的 application 中标签的定义

4.2.3.源代码文件

HelloActivity 工程只有一个源代码文件 HelloActivity.java ,位于这个工程 src 目录下的com/example/android/helloactivity 中,内容如下所示:

在这里插入图片描述
在这里插入图片描述

这里的类 HelloActivity 继承实现了 Android 系 统 API 提供的活动类( Activity ),使用setContentView(R.layout.hello_activity) 指定了当前活动的布局,这里表示将从 res/layout 目录中找到hello_activity.xml 文件作为本例的布局文件使用。

4.2.4.布局文件

hello_activity.xml 是本程序中的布局文件,在 Java 源文件中使用了此文件。本文件在 res/layout 目录中,其内容如下所示:

在这里插入图片描述
在这里插入图片描述

在这个布局文件中,只定义了一个 UI 元素——EditText,就是在界面上出现的占据全屏的可编辑文本框。在这里定义了这个可编辑文本框的初始化字符串为"@string/hello_activity_text_text",这个值在另外的资源文件中被定义,本例就是 string.xml

4.2.5.其他资源文件

string.xml 是本例中的一个资源文件,其内容如下所示:

在这里插入图片描述
在这里插入图片描述

这里定义了名称为“hello_activity_text_text”的字符串的内容为 Hello,World!,这就是出现在屏幕上的字符串。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第 4 章 Android应用程序示例
    • 4.1 HelloActivity程序的运行
      • 4.2 HelloActivity的源文件结构
        • 4.2.1.Android.mk文件
        • 4.2.2.AndroidManifest.xml文件
        • 4.2.3.源代码文件
        • 4.2.4.布局文件
        • 4.2.5.其他资源文件
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档