欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

我的第一个应用程序:如何逐步创建第一个Android应用程序

程序员文章站 2022-07-14 20:46:15
...

要创建可直接使用Android手机或平板电脑上所有可用功能的本地Android应用程序,您需要使用Android平台的Java API框架。 该API使您可以执行常见任务,例如在屏幕上绘制文本,形状和颜色,播放声音或视频以及与设备的硬件传感器进行交互。 多年来,Android API框架已经发展成为更加稳定,直观和简洁。 因此,今天成为一名Android开发人员比以往任何时候都容易,甚至比使用Studio Studio(使用该框架的官方工具)更容易。

在本教程中,我将向您展示如何创建您的第一个Android应用程序。 在此过程中,我还将向您介绍一些重要的特定于Android的概念,例如视图,布局和活动。

在本教程中,我们将从头开始创建一个非常简单的应用程序。 但是,如果您希望编写更少的代码或需要尽快开发应用,请考虑使用CodeCanyon上可用的本机Android应用模板之一

我的第一个应用程序:如何逐步创建第一个Android应用程序

先决条件

为了能够跟进,您需要:

  • 最新版本的Android Studio
  • 运行Android Marshmallow或更高版本的设备或模拟器

您需要一个Android Studio项目来设计,开发和构建您的应用程序。 因此,启动Android Studio,然后单击“ 开始新的Android Studio项目”按钮。

在下一个屏幕上,选择“不添加活动”,因为我们不想使用Android Studio提供的任何模板。 然后按下一步继续。

我的第一个应用程序:如何逐步创建第一个Android应用程序

现在,您将看到一个表单,您可以在其中输入有关应用程序的重要详细信息,例如其名称和程序包名称。 该名称当然是用户在安装应用程序时会在手机上看到的名称。

另一方面,套件名称是您在Google Play上的应用的唯一标识符。 指定它时,必须遵循Java包命名约定。 例如,如果您的应用程序名称为MyFirstApp,并且您为网站地址为example.com的组织工作,则程序包名称最好为“ com.example.myfirstapp”。

接下来,您必须在编写应用程序时确定要使用的编程语言。 现在,选择Java并按Finish

我的第一个应用程序:如何逐步创建第一个Android应用程序

Android Studio现在将花费一两分钟来生成和配置项目。

活动是Android应用程序最重要的组成部分之一。 它使您可以创建并向用户显示用户界面。 一个应用程序可以具有一个或多个活动,每个活动都允许用户执行一项操作。 例如,电子邮件客户端应用程序可以具有三项活动:一项用于用户注册,一项用于登录以及一项用于编写电子邮件。

为了简化本教程,我们将创建一个只有一个活动的应用程序。 要创建活动,请在Android Studio的“ 项目”面板中,右键单击应用,然后选择新建>活动>空活动

在弹出的对话框中,输入MainActivity作为活动名称,选中Launcher Activity选项,然后按Finish

检查启动器活动选项很重要,因为它允许您的用户使用Android启动器打开活动。 因此,启动器活动可作为您应用程序的入口点。

我的第一个应用程序:如何逐步创建第一个Android应用程序

每个活动通常至少具有一个与其关联的布局。 在上一步中创建活动时,还为其生成了一个空布局。 要查看它,请打开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_widthlayout_height属性。 他们决定视图的大小。 其他属性(例如layout_constraintBottom_toBottomOflayout_constraintLeft_toLeftOflayout_constraintLeft_toLeftOf视图所必需的。 使用上面的代码, TextClock视图将放置在屏幕的*,两个Button视图都将移向屏幕的底部。

默认情况下, TextClock视图仅显示小时和分钟。 但是, format12Hour属性允许您更改它。 在上面的代码中,其值设置为h:mm:ss a 这告诉TextClock视图应该显示小时,分钟,秒以及AM / PM后缀。

还要注意,每个Button视图都有一个onClick属性。 此属性用于将单击事件处理程序分配给按钮。

处理程序尚不存在,但是您可以要求Android Studio为您生成它们。 为此,将鼠标悬停在处理程序的名称上,直到看到旁边有一个红色的灯泡。 然后单击灯泡并选择第二个选项,一个带有黄色灯泡的选项。

我的第一个应用程序:如何逐步创建第一个Android应用程序

此时,您可以尝试按Shift-F10来运行该应用程序。 如果您的XML代码中没有错误,那么您应该在手机或仿真器上看到以下内容:

我的第一个应用程序:如何逐步创建第一个Android应用程序

尽管按钮尚不TextClock ,但TextClock视图应显示本地时间,每秒更新一次。

为两个按钮生成事件处理程序时,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套件

您可能已经注意到,我们的应用看起来非常简单。 这是因为我们使用的是默认主题,而未对视图应用任何样式。 CodeCanyon充满了Android UI工具包,这些工具包提供了精美的手工样式,您可以将其应用于视图。

我的第一个应用程序:如何逐步创建第一个Android应用程序


翻译自: https://code.tutsplus.com/tutorials/creating-your-first-android-app--cms-34497