Android(安卓) Hello World 实例

让我们从 Android 框架开始实际编程。在开始使用 Android SDK 编写第一个实例之前,必须确保已按照 Android-环境设置教程 中的说明正确设置了 Android 开发环境。我还假设您对 Android Studio 有一些工作知识。因此,让我们继续编写一个简单的 Android 应用程序,它将打印 "Hello World!"。


创建 Android 应用程序

第一步是使用 Android Studio 创建一个简单的 Android 应用程序。当你点击 Android Studio 图标时,它将显示如下屏幕:

您可以通过调用启动新的 Android Studio 项目(Start a new Android Studio project)来启动应用程序开发。在新的安装框架中应询问应用程序名称,软件包信息和项目位置。

输入应用程序名称后,它将被调用为选择应用程序运行的形式因素,这里需要指定 Minimum SDK,在我们的教程中,我已经声明为 API23:Android 6.0(Mashmallow):

下一安装级别应包含选择要移动的 Activity,它指定应用程序的默认布局(这里我们选择空的 Activity(Empty activity))。

在最后阶段,它将成为编写应用程序代码的开放开发工具。


安卓应用程序剖析

在运行应用程序之前,您应该了解 Android 项目中的一些目录和文件:

编号文件夹,文件 & 描述
1

Java

它包含项目的 .java 源文件。 默认情况下,它包含 MainActivity.java 源文件,该文件具有一个 Activity 类,该活动类在使用应用程序图标启动应用程序时运行。

2

res/drawable-hdpi

这是用于高分辨率度屏幕的可绘制对象的目录。。

3

res/layout

这是定义应用程序用户界面的文件的目录。

4

res/values

这是包含资源集合(例如字符串和颜色定义)的其他各种 XML 文件的目录。

5

AndroidManifest。xml

这是描述应用程序基本特征并定义其每个组件的清单文件。

6

Build.gradle

这是一个自动生成的文件,其中包含 compileSdkVersionbuildToolsVersionapplicationIdminSdkVersiontargetSdkVersionversionCodeversionName

以下部分将简要概述重要的应用程序文件。


MainActivity.java 文件

Main Activity 代码是 Java 文件 MainActivity.java。这是实际的应用程序文件,最终会转换为 Dalvik 可执行文件并运行您的应用程序。以下是应用程序向导为 Hello World 生成的默认代码:

  1. package com.example.helloworld;
  2. import android.support.v7.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. public class MainActivity extends AppCompatActivity {
  5. @Override
  6. protected void onCreate(Bundle savedInstanceState) {
  7. super.onCreate(savedInstanceState);
  8. setContentView(R.layout.activity_main);
  9. }
  10. }

在此,R.layout.activity_main 引用位于 res/layout 文件夹中的 activity_main.xml 文件。onCreate() 方法是当加载一个 activity


AndroidManifest.xml

作为应用程序一部分开发的任何组件,都必须在 AndroidManifest.xml 中声明其所有组件,该清单位于应用程序项目目录的根目录中。该文件用作 Android 操作系统与您的应用程序之间的接口,因此,如果您未在此文件中声明组件,那么操作系统将不会考虑该文件。例如,默认清单文件看起来像以下文件:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.example.tutorialspoint7.myapplication">
  4. <application
  5. android:allowBackup="true"
  6. android:icon="@mipmap/ic_launcher"
  7. android:label="@string/app_name"
  8. android:supportsRtl="true"
  9. android:theme="@style/AppTheme">
  10. <activity android:name=".MainActivity">
  11. <intent-filter>
  12. <action android:name="android.intent.action.MAIN" />
  13. <category android:name="android.intent.category.LAUNCHER" />
  14. </intent-filter>
  15. </activity>
  16. </application>
  17. </manifest>

在这里,<application> … </application> 标记包含与应用程序相关的组件。属性 android:icon 将指向 res/mipmap 下可用的应用程序图标。该应用程序使用位于可绘制文件夹中的名为 ic_launcher.png 的图像 标签用于指定 activity,而 android:name 属性指定 Activity 子类的完全限定的类名,而 android:label 属性则指定用作 activity 标签的字符串。您可以使用 <activity> 标签指定多个 activity

intent-filter 被命名为 android.intent.action.MAIN,表明这项 activtiy 作为切入点应用。intent-filter 的类别名为 android.intent.category.LAUNCHER,指示可以从设备的启动器图标启动应用程序。

@string 指的是字符串。xml 文件解释如下。因此 @string/app_name 是指 string.xml 文件中定义的 app_name 字符串,即 "HelloWorld"。类似地,其他字符串也会填充到应用程序中。

以下是清单文件中将使用的标签列表,用于指定不同的 Android 应用程序组件:

  • <activity> activtity 元素
  • 服务的 <service> 元素
  • 广播接收器的 <receiver> 元素
  • 内容提供器的 <provider> 元素

strings.xml

strings.xml 文件位于 RES/values 文件夹,它包含了所有的文本应用程序使用。例如,按钮,标签,默认文本和类似类型的字符串的名称将进入此文件。该文件负责其文本内容。例如,默认字符串文件将类似于以下文件-

  1. <resources>
  2. <string name="app_name">HelloWorld</string>
  3. <string name="hello_world">Hello world!</string>
  4. <string name="menu_settings">Settings</string>
  5. <string name="title_activity_main">MainActivity</string>
  6. </resources>

布局文件

activity_main.xml 中是可用布局文件 RES/layout 目录,由应用程序构建它的界面时引用。您将非常频繁地修改此文件以更改应用程序的布局。

此文件将具有以下与默认布局有关的内容:

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent" >
  5. <TextView
  6. android:layout_width="wrap_content"
  7. android:layout_height="wrap_content"
  8. android:layout_centerHorizontal="true"
  9. android:layout_centerVertical="true"
  10. android:padding="@dimen/padding_medium"
  11. android:text="@string/hello_world"
  12. tools:context=".MainActivity" />
  13. </RelativeLayout>

这是一个简单的 RelativeLayout 实例,我们将在单独的一章中进行研究。TextView 是一个用于构建 GUI 的 Android 控件,它具有各种属性,如 Android:layout_width、Android:layout_height 等,用于设置其宽度和高度等。@string 指的是位于 res/values 文件夹中的 strings.xml 文件。因此, @string/hello_world 指的是 string.xml 文件中定义的 hello 字符串,即 "Hello World!"。


运行应用程序

让我们尝试运行我们的 Hello World! 我们刚刚创建的应用程序。我假设您是在进行环境设置时创建的 AVD。要从 Android Studio 运行该应用,请打开您项目的活动文件之一,然后点击 Eclipse 运行图标工具栏中的 Eclipse Run Icon 图标。Android studio 将应用程序安装在您的 AVD 上并启动它,如果设置和应用程序一切正常,它将在 "Emulator" 窗口中显示:

祝贺您已经开发了您的第一个 Android 应用程序,现在只需继续一步一步地学习本教程的其余部分,就可以成为一名出色的 Android 开发人员。一切都很好。