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 图标时,它将显示如下所示的屏幕
您可以通过调用启动新 Android Studio 项目来开始应用程序开发。在一个新安装框架中应该询问应用程序名称、软件包信息和项目的位置。−
在输入应用程序名称后,它将被称为选择您的应用程序运行的形式因素,此时需要指定 最低 SDK,在我们的教程中,我已经声明为 API23: Android 6.0(棉花糖)−
下一级安装应包含选择移动的活动,它指定了应用程序的默认布局。
在最后阶段,它将打开开发工具来编写应用程序代码。
Anatomy of Android Application
在运行应用程序之前,您应该了解 Android 项目中的几个目录和文件−
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 应用程序组件的标记列表:
-
<activity>elements for activities
-
<service> elements for services
-
<receiver> 元素,用于广播接收器
-
<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!”。