Android 向日葵

一个园艺应用程序说明Android开发最佳实践与Android Jetpack.

Android 向日葵 (alpha)

Android向日葵目前是作为一个alpha版本发布的,正在进行大量的开发。要查看最新的更改,请访问版本页面.
请注意,一些更改(如数据库模式修改)在此alpha期间不向后兼容,可能会导致应用程序崩溃。在这种情况下,请卸载并重新安装应用程序.

介绍

Android Jetpack是一套组件、工具和指南,用来制作优秀的Android应用程序。它们将现有的支持库和体系结构组件组合在一起,并将它们分为四类:

Android Jetpack

Android向日葵演示了如何使用这些组件创建一个简单的园艺应用程序。
阅读Android向日葵的介绍文章,了解一下这款应用程序。

开始

这个项目使用层级构建系统。要构建此项目,请使用gradlew build命令或在Android Studio中使用Import project

测试项目有两个等级的任务::

  • connectedAndroidTest - 用于在连接设备上运行Espresso
  • test - 用于运行单元测试

有关学习Android开发的更多资源,请访问developer.android.com开发者指南

截图

List of plants
Plant details
My Garden

库的使用

  • Foundation - 核心系统功能的组件,Kotlin扩展和对multidex和自动化测试的支持.
    • AppCompat - 在旧版本的Android上可以优雅地降级.
    • Android KTX - 编写更简洁、更符合习惯的Kotlin代码.
    • Test - 一个用于单元和运行时UI测试的Android测试框架.
  • 体系结构 - 一组库,帮助您设计健壮、可测试和可维护的应用程序。从管理UI组件生命周期和处理数据持久性的类开始.
    • Data Binding - 声明式地将可观察数据绑定到UI元素.
    • Lifecycles - 创建一个自动响应生命周期事件的UI.
    • LiveData - 构建在底层数据库更改时通知视图的数据对象.
    • Navigation - 处理应用程序内导航所需的一切.
    • Room - 使用应用程序内对象和编译时检查访问应用程序的SQLite数据库.
    • ViewModel - 存储应用程序旋转时未销毁的ui相关数据。轻松地为最优执行计划异步任务.
    • WorkManager - 管理你的Android后台作业.
  • UI - 详细说明为什么和如何在你的应用程序中使用UI组件 - 一起或分开
  • 第三方

即将到来的新特性

随着组件库的发展,更新将包括合并其他Jetpack组件和更新现有组件.

有兴趣看看在这个应用程序中实现的Android框架或Jetpack的一个特定特性吗?请翻开新一期.

Android Studio IDE 设置

开发需要最新版本的Android Studio 3.2。最新版本可以从这里下载。

向日葵使用ktlint来执行Kotlin编码样式.
下面是如何将其配置为与Android Studio一起使用(来自ktlint README的说明):

  • 如果Android Studio是打开的,关闭它

  • 使用这些安装说明下载ktlint

  • 在项目根目录中运行:

    ./ktlint --apply-to-idea-project --android

  • 启动 Android Studio

额外的资源

查看这些Wiki页面,了解更多关于Android向日葵的信息:

非目标

本项目的重点是Android Jetpack和Android框架。
因此,在这个范围之外没有立即实现特性的计划。

关于依赖注入的注意-虽然许多项目(如Plaid)使用Dagger 2作为DI,但没有计划将DI合并进来
这使得不熟悉依赖注入的开发人员可以更好地理解向日葵的代码,而不必学习DI.

支持

如果您在这个示例中发现错误,请提交一个问题:
https://github.com/googlesamples/android-sunflower/issues

我们鼓励使用补丁,可以通过分岔这个项目并通过GitHub提交pull请求来提交补丁.

第三方内容

通过CC BY-SA 3.0 US (license in ASSETS_LICENSE)从维基百科中选择用于描述植物的文本(在plants.json中)

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :