- Android 基础
- Android - 首页
- Android - 概述
- Android - 环境搭建
- Android - 架构
- Android - 应用组件
- Android - Hello World 示例
- Android - 资源
- Android - 活动 (Activities)
- Android - 服务 (Services)
- Android - 广播接收器 (Broadcast Receivers)
- Android - 内容提供商 (Content Providers)
- Android - 片段 (Fragments)
- Android - 意图/过滤器 (Intents/Filters)
- Android - 用户界面
- Android - UI 布局
- Android - UI 控件
- Android - 事件处理
- Android - 风格和主题
- Android - 自定义组件
- Android 高级概念
- Android - 拖放
- Android - 通知
- 基于位置的服务
- Android - 发送电子邮件
- Android - 发送短信
- Android - 电话呼叫
- 发布 Android 应用
- Android 实用示例
- Android - 警报对话框
- Android - 动画
- Android - 音频采集
- Android - 音频管理器 (AudioManager)
- Android - 自动完成
- Android - 最佳实践
- Android - 蓝牙
- Android - 相机
- Android - 剪贴板
- Android - 自定义字体
- Android - 数据备份
- Android - 开发者工具
- Android - 模拟器
- Android - Facebook 集成
- Android - 手势
- Android - 谷歌地图
- Android - 图片特效
- Android - ImageSwitcher
- Android - 内部存储
- Android - JetPlayer
- Android - JSON 解析器
- Android - LinkedIn 集成
- Android - 加载旋转器 (Loading Spinner)
- Android - 本地化
- Android - 登录界面
- Android - MediaPlayer
- Android - 多点触控
- Android - 导航
- Android - 网络连接
- Android - NFC 指南
- Android - PHP/MySQL
- Android - 进度圆圈 (Progress Circle)
- Android - 进度条 (ProgressBar)
- Android - 推送通知
- Android - RenderScript
- Android - RSS 阅读器
- Android - 屏幕录制
- Android - SDK 管理器
- Android - 传感器
- Android - 会话管理
- Android - 共享首选项
- Android - SIP 协议
- Android - 拼写检查器
- Android - SQLite 数据库
- Android - 支持库
- Android - 测试
- Android - 文字转语音
- Android - TextureView
- Android - Twitter 集成
- Android - UI 设计
- Android - UI 模式
- Android - UI 测试
- Android - WebView 布局
- Android - Wi-Fi
- Android - 小部件 (Widgets)
- Android - XML 解析器
- Android 实用资源
- Android - 问答
- Android - 实用资源
- Android - 讨论
Android - Hello World 示例
让我们开始使用 Android 框架进行实际编程。在开始使用 Android SDK 编写您的第一个示例之前,您必须确保已按照Android - 环境搭建教程中所述正确设置您的 Android 开发环境。我还假设您对 Android Studio 有些了解。
因此,让我们继续编写一个简单的 Android 应用程序,它将打印“Hello World!”。
创建 Android 应用程序
第一步是使用 Android Studio 创建一个简单的 Android 应用程序。当您单击 Android Studio 图标时,它将显示如下所示的屏幕
您可以通过调用启动一个新的 Android Studio 项目来开始您的应用程序开发。在新安装框架中,应该询问应用程序名称、包信息和项目位置。
输入应用程序名称后,它将被称为选择您的应用程序运行的形状因子,这里需要指定最小 SDK,在本教程中,我已声明为 API 23:Android 6.0(棉花糖)
下一个安装级别应该包含选择移动设备的活动,它指定应用程序的默认布局。
在最后阶段,它将打开开发工具来编写应用程序代码。
Android 应用程序的构成
在运行您的应用程序之前,您应该了解 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 |
以下部分将简要概述重要的应用程序文件。
主活动文件
主活动代码是一个 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()方法是活动加载时计算出的许多方法之一。
清单文件
无论您开发什么组件作为应用程序的一部分,都必须在位于应用程序项目目录根目录下的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下的应用程序图标。应用程序使用位于可绘制文件夹中的名为 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>元素用于活动
<service>元素用于服务
<receiver>元素用于广播接收器
<provider>元素用于内容提供商
字符串文件
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目录中可用的布局文件,应用程序在构建其界面时会引用它。您将非常频繁地修改此文件以更改应用程序的布局。对于您的“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!”。
运行应用程序
让我们尝试运行我们刚刚创建的Hello World!应用程序。我假设您在进行环境设置时创建了AVD。要从 Android Studio 运行应用程序,请打开项目的活动文件之一,然后单击工具栏中的运行图标。Android Studio 将应用程序安装到您的 AVD 并启动它,如果您的设置和应用程序一切正常,它将显示以下模拟器窗口:
恭喜!!!您已经开发了您的第一个 Android 应用程序,现在只需一步一步地继续学习本教程的其余部分,即可成为一名优秀的 Android 开发者。祝一切顺利。