要创建可直接使用Android手机或平板电脑上所有可用功能的本地Android应用程序,您需要使用Android平台的Java API框架。 该API使您可以执行常见任务,例如在屏幕上绘制文本,形状和颜色,播放声音或视频以及与设备的硬件传感器进行交互。 多年来,Android API框架已经发展成为更加稳定,直观和简洁。 因此,今天成为一名Android开发人员比以往任何时候都容易,甚至比使用Studio Studio(使用该框架的官方工具)更容易。
在本教程中,我将向您展示如何创建您的第一个Android应用程序。 在此过程中,我还将向您介绍一些重要的特定于Android的概念,例如视图,布局和活动。
在本教程中,我们将从头开始创建一个非常简单的应用程序。 但是,如果您希望编写更少的代码或需要尽快开发应用,请考虑使用CodeCanyon上可用的本机Android应用模板之一 。
![CodeCanyon移动Android应用模板畅销书](https://i-blog.csdnimg.cn/blog_migrate/af3f3b115e7610b6437fd5ae6abea544.png)
先决条件
为了能够跟进,您需要:
- 最新版本的Android Studio
- 运行Android Marshmallow或更高版本的设备或模拟器
1.创建一个新项目
您需要一个Android Studio项目来设计,开发和构建您的应用程序。 因此,启动Android Studio,然后单击“ 开始新的Android Studio项目”按钮。
在下一个屏幕上,选择“不添加活动”,因为我们不想使用Android Studio提供的任何模板。 然后按下一步继续。
![模板选择画面](https://i-blog.csdnimg.cn/blog_migrate/a895ae66af164dfe0d36400eb3e038f7.png)
现在,您将看到一个表单,您可以在其中输入有关应用程序的重要详细信息,例如其名称和程序包名称。 该名称当然是用户在安装应用程序时会在手机上看到的名称。
另一方面,套件名称是您在Google Play上的应用的唯一标识符。 指定它时,必须遵循Java包命名约定。 例如,如果您的应用程序名称为MyFirstApp,并且您为网站地址为example.com的组织工作,则程序包名称最好为“ com.example.myfirstapp”。
接下来,您必须在编写应用程序时确定要使用的编程语言。 现在,选择Java并按Finish 。
![配置项目屏幕](https://i-blog.csdnimg.cn/blog_migrate/4cdbccb4649ff7023513f9f2a63ece7d.png)
Android Studio现在将花费一两分钟来生成和配置项目。
2.创建一个活动
活动是Android应用程序最重要的组成部分之一。 它使您可以创建并向用户显示用户界面。 一个应用程序可以具有一个或多个活动,每个活动都允许用户执行一项操作。 例如,电子邮件客户端应用程序可以具有三项活动:一项用于用户注册,一项用于登录以及一项用于编写电子邮件。
为了简化本教程,我们将创建一个只有一个活动的应用程序。 要创建活动,请在Android Studio的“ 项目”面板中,右键单击应用,然后选择新建>活动>空活动 。
在弹出的对话框中,输入MainActivity作为活动名称,选中Launcher Activity选项,然后按Finish 。
检查启动器活动选项很重要,因为它允许您的用户使用Android启动器打开活动。 因此,启动器活动可作为您应用程序的入口点。
![活动创建对话框](https://i-blog.csdnimg.cn/blog_migrate/87fe202658b1f7ca02b71259f98f3ae0.png)
3.创建布局
每个活动通常至少具有一个与其关联的布局。 在上一步中创建活动时,还为其生成了一个空布局。 要查看它,请打开activity_main.xml文件。
活动的布局主要由视图和视图组组成。 视图(有时称为窗口小部件)是用户界面的单个组件。 按钮,文本字段,标签和进度条是视图的常见示例。 视图组是可以用作视图容器的组件。 通常,视图组还可以帮助您定位和设置视图的尺寸。
ConstraintLayout
是当今最强大,最灵活的视图组之一。 默认情况下,它是活动的布局XML文件的根节点。 看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!-- More code here -->
</androidx.constraintlayout.widget.ConstraintLayout>
在本教程中,我们将创建一个简单的时钟应用程序。 除了当地时间,它还可以显示两个国家(印度和德国)的当前时间。
为了允许用户选择他们感兴趣的国家,我们的布局将有两个Button
视图,一个用于德国,一个用于印度。 为了真正显示时间,我们的布局将具有TextClock
视图。
因此,在ConstraintLayout
内添加以下代码:
<TextClock
android:id="@+id/my_clock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:format12Hour="h:mm:ss a"
android:textSize="32sp"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
android:text="Time in Germany"
android:onClick="onClickGermany"
android:id="@+id/germany_button"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@id/germany_button"
android:text="Time in India"
android:onClick="onClickIndia"
android:id="@+id/india_button"/>
请注意,每个视图必须具有layout_width
和layout_height
属性。 他们决定视图的大小。 其他属性(例如layout_constraintBottom_toBottomOf
和layout_constraintLeft_toLeftOf
是layout_constraintLeft_toLeftOf
视图所必需的。 使用上面的代码, TextClock
视图将放置在屏幕的中央,两个Button
视图都将移向屏幕的底部。
默认情况下, TextClock
视图仅显示小时和分钟。 但是, format12Hour
属性允许您更改它。 在上面的代码中,其值设置为h:mm:ss a
。 这告诉TextClock
视图应该显示小时,分钟,秒以及AM / PM后缀。
还要注意,每个Button
视图都有一个onClick
属性。 此属性用于将单击事件处理程序分配给按钮。
处理程序尚不存在,但是您可以要求Android Studio为您生成它们。 为此,将鼠标悬停在处理程序的名称上,直到看到旁边有一个红色的灯泡。 然后单击灯泡并选择第二个选项,一个带有黄色灯泡的选项。
![使用Android Studio创建onClick处理程序](https://i-blog.csdnimg.cn/blog_migrate/6e2fc637e6b92287fedd24b184f14ce6.png)
此时,您可以尝试按Shift-F10来运行该应用程序。 如果您的XML代码中没有错误,那么您应该在手机或仿真器上看到以下内容:
![应用正在运行,显示本地时间](https://i-blog.csdnimg.cn/blog_migrate/ea017b4f00c3582ee9a49a7b42f5c577.png)
尽管按钮尚不TextClock
,但TextClock
视图应显示本地时间,每秒更新一次。
4.实现事件处理程序
为两个按钮生成事件处理程序时,Android Studio向活动的Java文件MainActivity.java添加了两个方法。 如果打开它,应该在其中找到以下代码:
public void onClickGermany(View view) {
}
public void onClickIndia(View view) {
}
在事件处理程序内部,我们所需要做的就是更改TextClock
视图的时区。 但是,如何从Java文件内部引用布局XML文件中的视图? 好吧,您只需要使用findViewById()
方法。
引用TextClock
视图后,可以调用其setTimeZone()
方法来更改其时区。 因此,在onClickGermany()
方法内添加以下代码:
TextClock clock = findViewById(R.id.my_clock);
clock.setTimeZone("Europe/Berlin");
同样,在onClickIndia()
方法内添加以下代码:
TextClock clock = findViewById(R.id.my_clock);
clock.setTimeZone("Asia/Kolkata");
如果您想知道R
是什么,它是一个自动生成的类,其中包含布局中所有视图的ID。 findViewById()
方法希望您在将ID传递给它时使用该类。
此时,您可以再次按Shift-F10重新运行该应用程序。 现在,您应该可以单击按钮来更改时钟的时区。
结论
您刚刚创建了第一个全功能的Android本机应用程序! 我鼓励您对此进行一些更改。 例如,您可以尝试使用其他时间格式或时区。 您也可以尝试更改按钮和时钟视图的位置。
您可以使用许多视图和视图组来创建应用。 请参阅官方文档以了解它们。
您可能已经注意到,我们的应用看起来非常简单。 这是因为我们使用的是默认主题,而未对视图应用任何样式。 CodeCanyon充满了Android UI工具包,这些工具包提供了精美的手工样式,您可以将其应用于视图。
翻译自: https://code.tutsplus.com/tutorials/creating-your-first-android-app--cms-34497