android应用开发_android开发如何开发android应用

   日期:2024-12-27    作者:hnxinming 移动:http://ljhr2012.riyuangf.com/mobile/quote/57837.html

Now that we have our IDE, how do we actually make an Android project? First, let’s look at the structure of a typical Android project.

现在我们有了IDE,我们如何真正制作一个Android项目? 首先,让我们看一个典型的Android项目的结构。

app — root module folder

app —根模块文件夹

  • build.gradle — module config file

    build.gradle —模块配置文件

  • src/main/AndroidManifest.xml — module manifest file

    src / main / AndroidManifest.xml —模块清单文件

  • src/main/java — module source folder for Java or Kotlin files

    src / main / java -Java或Kotlin文件的模块源文件夹

  • src/main/res — module resource folder

    src / main / res —模块资源文件夹

build.gradle — project config file

build.gradle —项目配置文件

gradle, gradle.properties, gradlew, gradlew.bat — Gradle related files for to build Android project

gradle gradle.properties gradlew gradlew.bat —与Gradle相关的文件,用于构建Android项目

settings.gradle — project settings file

文件包含您的模块和项目名称的列表。 请记住,一个Android项目可以包含一个或几个模块,每个模块可以包含自己的功能或逻辑。 文件定义您的设置并配置构建环境。

The , , and files are related to Gradle wrapper, so we don’t have to manually install Gradle.

, 和文件与Gradle包装器相关,因此我们不必手动安装Gradle。

is a top-level build file. Here we can add configuration options shared by all modules. For example, you can give your files access to repositories for core Android functionalities.

是顶级构建文件。 在这里,我们可以添加所有模块共享的配置选项。 例如,您可以授予文件访问Android核心功能存储库的权限。

Each module has a unique name where we put the application source code. The module file contains the configurations related to this module only, such as:

每个模块都有一个唯一的名称,用于放置应用程序源代码。 模块文件仅包含与此模块相关的配置,例如

  • - the version of Android SDK to compile the project

    用于编译项目的Android SDK版本

  • - the minimal supported Android version

    最低支持的Android版本

  • - the target version of Android SDK, used to tell the system to enable compatibility behaviors

    -Android SDK的目标版本,用于告诉系统启用兼容性行为

  • - unique identifier of the application on the device and in Google Play Store

    设备和Google Play商店中唯一标识符

  • - an internal version number

    内部版本号

  • - the version name displayed to users

    向用户显示的版本名称

  • - compile options to achieve some features of Java 1.8

    编译选项以实现Java 1.8的某些功能

  • - first-party and third-party library dependencies, discussed in the next lessons

    我们在AndroidManifest.xml中声明我们的主要组件。 例如,旅行博客的清单文件可能包含以下内容

    • - the package name of the application, in our case com.travelblog

      -应用程序的包名,在我们的例子com.travelblog

    • - the global application theme, in our case MaterialComponents theme

      全局应用程序主题,在本例中为MaterialComponents主题

    • - the label which is used as a value for the application icon

      标签,用作应用程序图标的值

    • - the activity, we currently only have one MainActivity

      -该活动,我们目前只有一个MainActivity

    All resource-related files need to be placed inside predefined, sub-folders of the src/main/res folder. One subfolder, for example, is the layout folder for all your layout files. We will also have the src/main/java folder for our Java source code.

    所有与资源相关的文件都必须放置在src / main / res文件的预定义子文件夹中。 例如,一个子文件夹是所有布局文件的布局文件夹。 我们还将为Java源代码提供src / main / java文件夹。

    An important part of creating your application is the unique features and tools you add to it. That’s where libraries come into play. A library is a collection of pre-written resources that can be added to your app. The Android library ecosystem is large, and you can use dozens of libraries in a single project. You can access most of the Android libraries through maven.

    创建应用程序的重要部分是添加到应用程序中的独特功能和工具。 那就是图书馆发挥作用的地方。 库是可以添加到您的应用程序中的预写资源的集合。 Android库生态系统很大,您可以在一个项目中使用数十个库。 您可以通过maven访问大多数Android库。

    Adding a library to your project is easy: declare the group id, artifact id, and version in the section of your app/build.gradle file.

    以下是当今使用的一些最受欢迎的库

    • appcompat — makes the apps developed with newer versions work with older versions

      appcompat-使使用较新版本开发的应用程序可与较旧版本一起使用

    • constraintlayout — allows creating large and complex layouts with a flat view hierarchy

      约束布局-允许创建具有平面视图层次结构的大型复杂布局

    • material — brings material design components to Android

      material —将材质设计组件带到Android

    • retrofit — a type-safe HTTP client library

      改造 —类型安全的HTTP客户端库

    • moshi — a JSON parser library

      moshi — JSON解析器库

    • glide — an image loading library

      glide —图像加载库

    • room — an official Android ORM database

      —官方的Android ORM数据库

    • dagger — a static, compile-time dependency injection framework

      dagger —静态的编译时依赖项注入框架

    Appcompat

    Appcompat

    The appcompat library is great for solving compatibility issues between newer and older versions of your app. Its primary component is . This base class enables backward compatibility with older versions of Android apps. To add it to your app, use the following code:

    appcompat库非常适合解决应用程序新旧版本之间的兼容性问题。 它的主要组件是 。 这个基本类别可与旧版Android应用程式向后相容。 要将其添加到您的应用中,请使用以下代码

     
         

    Constraint layout

    约束布局

    This library enables you to create complex layouts using a flat view hierarchy. It is common to use as the root of all the layout files. To add it to your app, use the following code:

    该库使您可以使用平面视图层次结构创建复杂的布局。 通常将用作所有布局文件的根。 要将其添加到您的应用中,请使用以下代码

    材料设计

    This library brings Material Design components to your app. Material design is a design language used to make your various components more user-friendly. You can take a look at the list of components here. To add it to your app, use the following code:

    该库将Material Design组件引入您的应用程序。 材料设计是一种设计语言,用于使您的各个组件更加人性化。 您可以在此处查看组件列表。 要将其添加到您的应用中,请使用以下代码

     
          
         

    One of the core components of Android is activity, one screen of the application user interface. An application is comprised of multiple activities that can be launched on top of each other to form a back stack. A user can navigate through this back stack using the UI components, i.e. a back button.

    Android的核心组件之一是活动,即应用程序用户界面的一个屏幕。 一个应用程序由多个活动组成,这些活动可以相互启动以形成后退堆栈。 用户可以使用UI组件(即后退按钮)浏览该后退堆栈。

    For example, an app may have the following components:

    例如,一个应用可能具有以下组件

    • LoginActivity — represents login flow

      LoginActivity —代表登录流程

    • ListActivity — represents a list of recent article titles

      ListActivity —表示最近文章标题的列表

    • DetailActivity — represents an article itself

      DetailActivity —表示文章本身

    Activities have their own lifecycles, so the Activity class offers six core callbacks: , , , , , . When the user leaves an activity, the system will dismantle the activity by calling different methods. You can use these methods to check when an activity is being created or destroyed, becomes visible or hidden, etc.

    创建活动涉及两个主要步骤:创建Java类并从超类对其进行扩展。 然后,您可以使用库来实现向后兼容性。 然后必须在文件中声明Android活动。

    Another key aspect of Android development is developing and working with Android layout. The layout defines the overarching structure of your UI (user interface). These are built using views and view groups.

    Android开发的另一个关键方面是开发和使用Android布局。 布局定义了UI(用户界面)的总体结构。 这些是使用视图和视图组构建的。

    Views, also called widgets, might be components such as (render text), (user can type text), and (clickable text).

    视图 (也称为窗口小部件)可能是诸如 (呈现文本), (用户可以键入文本)和 (可单击文本)之类的组件。

    ViewGroups, sometimes called layouts, are like invisible containers that determine where certain elements will be housed. This is where you might use the Google library , which uses constraints to position your widgets. The Android SDK method is simpler for beginners but offers less flexibility.

    ViewGroups有时也称为布局,就像不可见的容器一样,用于确定某些元素的放置位置。 您可以在这里使用Google库 ,该库使用约束来定位窗口小部件。 对于初学者来说,Android SDK方法较为简单,但灵活性较低。

    The easiest way to build a layout is by using an XML file rather than Java code. We can then bind or inflate this layout to an activity. Let’s build a layout to see how it’s done.

    建立布局的最简单方法是使用XML文件而不是Java代码。 然后,我们可以将此布局绑定或膨胀到活动。 让我们构建一个布局,看看它是如何完成的。

    First, inside your app/src/main/res/layout folder, create an activity_main.xmllayout file. In this example, we will use a root layout through alongside some XML attributes:

    首先 ,在您的app / src / main / res / layout文件夹中,创建一个activity_main.xml布局文件。 在此示例中,我们将通过使用根布局以及一些XML属性

    • : this defines the width of the layout.

      :这定义布局的宽度。

    • : this defines the height of the layout

      :这定义了布局的高度

    • and : these define XML namespace, Android namespace for attributes from Android SDK, and app namespace for attributes from libraries

      现在,我们已经建立了视图,现在我们进入对齐 。 由于默认位置我们的视图位于左上角,因此我们希望将文本移动到屏幕的中心。 为此,我们添加以下约束

      • : this declares a constraint to align the top of the view to the top of the ConstraintLayout

        :这声明一个约束,以将视图的顶部与ConstraintLayout的顶部对齐

      • : this declares a constraint to align the bottom of the view to the bottom of the ConstraintLayout

        :这声明一个约束,以使视图的底部与ConstraintLayout的底部对齐

      • : this declares a constraint to align the left of the view to the left of the ConstraintLayout

        :这声明一个约束,以使视图的左侧与ConstraintLayout的左侧对齐

      • : this declares a constraint to align the right of the view to the right of the ConstraintLayout

        现在,所有内容都在我们想要的位置对齐了,我们继续进行布局绑定 。 这用于将与MainActivity关联。 当在方法内创建活动时,我们使用方法执行此操作。

        The method accepts the layout resource ID. This is referenced by the auto-generated Android R class, where all the resource IDs are stored. For binding purposes, we can use the to obtain the ID of activity_main.xml so we can tell MainActivity to render layout from this file.

        最后一步是视图绑定 ,这使我们能够在运行时与视图进行交互。 为此,我们将视图从XML绑定到Java对象。

        First, we define a new ID for the using the id attribute with @+id/mainTextView value.


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号