当前位置: 首页 > 软件库 > 手机/移动开发 > >

architecture-samples

授权协议 Apache-2.0 License
开发语言 Java
所属分类 手机/移动开发
软件类型 开源软件
地区 不详
投 递 者 索嘉石
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Android Architecture Blueprints v2

Illustration by Virginia Poltrack

Android Architecture Blueprints is a project to showcase different architectural approaches to developing Android apps. In its different branches you'll find the same app (a TODO app) implemented with small differences.

In this branch you'll find:

  • Kotlin Coroutines for background operations.
  • A single-activity architecture, using the Navigation component to manage fragment operations.
  • A presentation layer that contains a fragment (View) and a ViewModel per screen (or feature).
  • Reactive UIs using LiveData observables and Data Binding.
  • A data layer with a repository and two data sources (local using Room and remote) that are queried with one-shot operations (no listeners or data streams).
  • Two product flavors, mock and prod, to ease development and testing (except in the Dagger branch).
  • A collection of unit, integration and e2e tests, including "shared" tests that can be run on emulator/device or Robolectric.

Variations

This project hosts each sample app in separate repository branches. For more information, see the README.md file in each branch.

Stable samples - Kotlin

Sample Description
master The base for the rest of the branches.
Uses Kotlin, Architecture Components, coroutines, Data Binding, etc. and uses Room as source of truth, with a reactive UI.
dagger-android
[compare]
A simple Dagger setup that uses dagger-android and removes the two flavors.
usecases
[compare]
Adds a new domain layer that uses UseCases for business logic.

Old samples - Kotlin and Java

Blueprints v1 had a collection of samples that are not maintained anymore, but can still be useful. See all project branches.

Why a to-do app?

A demo illustraating the UI of the app

The app in this project aims to be simple enough that you can understand it quickly, but complex enough to showcase difficult design decisions and testing scenarios. For more information, see the app's specification.

What is it not?

  • A UI/Material Design sample. The interface of the app is deliberately kept simple to focus on architecture. Check out Plaid instead.
  • A complete Jetpack sample covering all libraries. Check out Android Sunflower or the advanced Github Browser Sample instead.
  • A real production app with network access, user authentication, etc. Check out the Google I/O app, Santa Tracker or Tivi for that.

Who is it for?

  • Intermediate developers and beginners looking for a way to structure their app in a testable and maintainable way.
  • Advanced developers looking for quick reference.

Opening a sample in Android Studio

To open one of the samples in Android Studio, begin by checking out one of the sample branches, and then open the root directory in Android Studio. The following series of steps illustrate how to open the usecases sample.

Clone the repository:

git clone git@github.com:googlesamples/android-architecture.git

This step checks out the master branch. If you want to change to a different sample:

git checkout usecases

Note: To review a different sample, replace usecases with the name of sample you want to check out.

Finally open the android-architecture/ directory in Android Studio.

License

Copyright 2019 Google, Inc.

Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements. See the NOTICE file distributed with this work for
additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
  •     近期读了一下Google的architecture-components框架的示例代码,记下自己目前所能理解的东西吧。     Google示例代码的github地址     https://github.com/googlesamples/android-architecture-components 先简单介绍一下该框架的主要内容(看了部分源码,还不是很清晰,后面尽量补源码分析,下面只

  • googlesamples/android-architecture https://github.com/googlesamples/android-architecture

  • 前段时间学习了 Google Samples MVP android-architecture todo-mvp/ 了解了 MVP 基本使用方法,以及 UseCase 的使用,之后也用在项目当中,确实带来了一些好处,比如:数据和 UI 拆分,UseCase 执行重用,使用线程池等等,之后了解了 RxJava,有必要合并 mvp 使用下,参考官方 Google Samples github todo

  • Android Architecture Components samples A collection of samples using the Architecture Components: Room Lifecycle-aware components ViewModels LiveData Samples The Architecture Components and these sam

  • 官方文档:https://developer.android.com/topic/libraries/architecture/index.html 官方实例:https://github.com/googlesamples/android-architecture-components 注意:目前该架构还处于alpha阶段,涉及到的相关Api,比如ViewModel、Lifecycle、Live

  • 参考文档 Install Samples, Binaries and Docker Images 操作的时候,遇到curl指令执行失败: > curl -sSL http://bit.ly/2ysbOFE | bash -s curl: (56) Recv failure: Connection reset by peer   这是墙的问题,http://bit.ly/2ysb0FE这个地址无法

  • Engineering Oleg Zhurakousky September 29, 2010 Based on your overwhelming requests for more Spring Integration samples and more usable structure we are pleased to make the following announcement: Sta

 相关资料
  • If you are interested in learning more about how Jest works, what the architecture behind the framework is, and how Jest is split up into individual reusable packages, check out this video:

  • Spring可能是所有企业应用程序的一站式商店。 但是,Spring是模块化的,允许您挑选和选择适用于您的模块,而无需引入其余模块。 以下部分提供有关Spring Framework中可用的所有模块的详细信息。 Spring Framework提供了大约20个可以根据应用程序需求使用的模块。 核心容器 核心容器由核心,Bean,上下文和表达式语言模块组成,其详细信息如下 - Core模块提供了框架

  • 以下是Spring Batch架构的图解表示。 如图所示,该体系结构包含三个主要组件,即Application, Batch Core和Batch Infrastructure 。 Application - 该组件包含我们使用Spring Batch框架编写的所有作业和代码。 Batch Core - 此组件包含控制和启动批处理作业所需的所有API类。 Batch Infrastructure

  • Architecture https://rafaelfgx-architecture.herokuapp.com This project is an example of architecture using new technologies and best practices. The goal is to share knowledge and use it as reference f

  • Ceph is structured into libraries which are built and then combined together to make executables and other libraries. libcommon: a collection of utilities which are available to nearly every ceph libr

  • Angular Architecture Guide A cohesive guide for building Angular applications for teams. ⚠️ Work In Progress ⚠️ Folder Structure index.htmlapp/│ app.component.scss│ app.component.spec.ts│ app