Android 简明教程

Android - Hello World Example

让我们使用 Android Framework 开始实际编程。在开始使用 Android SDK 编写您的第一个示例之前,您必须确保按照 Android - Environment Set-up 教程中所述正确设置 Android 开发环境。我还假设您对 Android Studio 有一些操作知识。

因此,让我们继续编写一个简单的 Android 应用程序,它将打印“Hello World!”。

Create Android Application

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

studio9

您可以通过调用启动新 Android Studio 项目来开始应用程序开发。在一个新安装框架中应该询问应用程序名称、软件包信息和项目的位置。−

studio10

在输入应用程序名称后,它将被称为选择您的应用程序运行的形式因素,此时需要指定 最低 SDK,在我们的教程中,我已经声明为 API23: Android 6.0(棉花糖)−

studio11

下一级安装应包含选择移动的活动,它指定了应用程序的默认布局。

studio12

在最后阶段,它将打开开发工具来编写应用程序代码。

studio13

Anatomy of Android Application

在运行应用程序之前,您应该了解 Android 项目中的几个目录和文件−

hello word1

Sr.No.

Folder, File & Description

1

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

2

res/drawable-hdpi 这是为高密度屏幕设计的可绘制对象目录。

3

res/layout 这是为定义应用程序用户界面的文件设置的目录。

4

res/values 这是另一个各种 XML 文件的目录,其中包含资源集合,例如字符串和颜色定义。

5

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

6

Build.gradle 这是一个自动生成的文件,其中包含 compileSdkVersion、buildToolsVersion、applicationId、minSdkVersion、targetSdkVersion、versionCode 和 versionName

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

The Main Activity File

主活动代码是一个 Java 文件 MainActivity.java 。这是实际的应用程序文件,最终被转换为 Dalvik 可执行文件并运行您的应用程序。以下是应用程序向导为 Hello World 生成的默认代码! 应用程序 −

package com.example.helloworld;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }
}

此处,R.layout.activity_main 指的是位于 res/layout 文件夹中的 activity_main.xml 文件。当加载活动时,onCreate() 方法是所列出的许多方法之一。

The Manifest File

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

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tutorialspoint7.myapplication">

   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">

      <activity android:name=".MainActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>

此处 <application>…​</application> 标记所包含的组件与应用程序相关。属性 android:icon 将指向 res/drawable-hdpi 中的应用程序图标。该应用程序使用 drawable 文件夹中名为 ic_launcher.png 的图像

<activity> 标记用于指定某个活动,而 android:name 属性指定某个 Activity 子类的完全限定类名,而 android:label 属性指定一个字符串用作活动标签。你可以使用 <activity> 标记指定多个活动。

意图筛选器的 action 被命名为 android.intent.action.MAIN,它表示该活动作为应用程序的入口点。意图筛选器的 category 被命名为 android.intent.category.LAUNCHER,它表示该应用程序可以通过设备启动器图标启动。

@string 引用了下面说明的 strings.xml 文件。因此,@string/app_name 引用了 strings.xml 文件中定义的 app_name 字符串,即 “HelloWorld”。类似地,其他字符串也会填充到应用程序中。

下面是你将在清单文件中用来指定不同 Android 应用程序组件的标记列表:

  1. <activity>elements for activities

  2. <service> elements for services

  3. <receiver> 元素,用于广播接收器

  4. <provider> 元素,用于内容提供程序

The Strings File

strings.xml 文件位于 res/values 文件夹中,它包含应用程序所使用的所有文本。例如,按钮、标签、默认文本和类似类型的字符串进入此文件。此文件负责其文本内容。例如,默认的字符串文件如下所示:

<resources>
   <string name="app_name">HelloWorld</string>
   <string name="hello_world">Hello world!</string>
   <string name="menu_settings">Settings</string>
   <string name="title_activity_main">MainActivity</string>
</resources>

The Layout File

activity_main.xml 是一个布局文件,在应用程序构建界面时由 res/layout 目录引用。你将频繁修改此文件来更改应用程序布局。对于你的 “Hello World!”应用程序,此文件将具有与默认布局相关的以下内容:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >

   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_centerVertical="true"
      android:padding="@dimen/padding_medium"
      android:text="@string/hello_world"
      tools:context=".MainActivity" />

</RelativeLayout>

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

Running the Application

让我们尝试运行我们刚刚创建的 Hello World! 应用程序。我假设你在进行环境设置时创建了 AVD 。要在 Android Studio 中运行应用程序,请打开一个项目活动文件,然后单击工具栏中的运行图标。Android Studio 在你的 AVD 上安装应用程序并启动它,如果你的设置和应用程序一切正常,它将显示以下模拟器窗口:

android hello world

恭喜你!你已经开发了你的第一个安卓应用程序,现在请按照教程的其余步骤,一步一步成为一名优秀的 Android 开发人员。祝你一切顺利。