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 源文件,该文件具有一个 |
2 | res/drawable-hdpi 这是用于高分辨率度屏幕的可绘制对象的目录。。 |
3 | res/layout 这是定义应用程序用户界面的文件的目录。 |
4 | res/values 这是包含资源集合(例如字符串和颜色定义)的其他各种 XML 文件的目录。 |
5 | AndroidManifest。xml 这是描述应用程序基本特征并定义其每个组件的清单文件。 |
6 | Build.gradle 这是一个自动生成的文件,其中包含 compileSdkVersion,buildToolsVersion,applicationId,minSdkVersion,targetSdkVersion,versionCode 和 versionName |
以下部分将简要概述重要的应用程序文件。
MainActivity.java 文件
Main Activity 代码是 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()
方法是当加载一个 activity。
AndroidManifest.xml
作为应用程序一部分开发的任何组件,都必须在 AndroidManifest.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/mipmap 下可用的应用程序图标。该应用程序使用位于可绘制文件夹中的名为 ic_launcher.png 的图像 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 文件夹,它包含了所有的文本应用程序使用。例如,按钮,标签,默认文本和类似类型的字符串的名称将进入此文件。该文件负责其文本内容。例如,默认字符串文件将类似于以下文件-
<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>
布局文件
activity_main.xml
中是可用布局文件 RES/layout 目录,由应用程序构建它的界面时引用。您将非常频繁地修改此文件以更改应用程序的布局。
此文件将具有以下与默认布局有关的内容:
<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
指的是 string.xml 文件中定义的 hello 字符串,即 "Hello World!"。
运行应用程序
让我们尝试运行我们的 Hello World! 我们刚刚创建的应用程序。我假设您是在进行环境设置时创建的 AVD。要从 Android Studio 运行该应用,请打开您项目的活动文件之一,然后点击 Eclipse 运行图标工具栏中的 图标。Android studio 将应用程序安装在您的 AVD 上并启动它,如果设置和应用程序一切正常,它将在 "Emulator" 窗口中显示:
祝贺您已经开发了您的第一个 Android 应用程序,现在只需继续一步一步地学习本教程的其余部分,就可以成为一名出色的 Android 开发人员。一切都很好。