[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-906":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},906,"architecture-samples","android\u002Farchitecture-samples","android","A collection of samples to discuss and showcase different architectural tools and patterns for Android apps.","",null,"Kotlin",45715,11869,2384,144,0,3,7,47,12,45,"Apache License 2.0",false,"main",true,[7,27,28],"android-architecture","samples","2026-06-12 02:00:20","# Android Architecture Samples\n\nThese samples 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.\n\nIn this branch you'll find:\n*   User Interface built with **[Jetpack Compose](https:\u002F\u002Fdeveloper.android.com\u002Fjetpack\u002Fcompose)** \n*   A single-activity architecture, using **[Navigation Compose](https:\u002F\u002Fdeveloper.android.com\u002Fjetpack\u002Fcompose\u002Fnavigation)**.\n*   A presentation layer that contains a Compose screen (View) and a **ViewModel** per screen (or feature).\n*   Reactive UIs using **[Flow](https:\u002F\u002Fdeveloper.android.com\u002Fkotlin\u002Fflow)** and **[coroutines](https:\u002F\u002Fkotlinlang.org\u002Fdocs\u002Fcoroutines-overview.html)** for asynchronous operations.\n*   A **data layer** with a repository and two data sources (local using Room and a fake remote).\n*   Two **product flavors**, `mock` and `prod`, [to ease development and testing](https:\u002F\u002Fandroid-developers.googleblog.com\u002F2015\u002F12\u002Fleveraging-product-flavors-in-android.html).\n*   A collection of unit, integration and e2e **tests**, including \"shared\" tests that can be run on emulator\u002Fdevice.\n*   Dependency injection using [Hilt](https:\u002F\u002Fdeveloper.android.com\u002Ftraining\u002Fdependency-injection\u002Fhilt-android).\n\n## Screenshots\n\n\u003Cimg src=\"screenshots\u002Fscreenshots.png\" alt=\"Screenshot\">\n\n## Why a to-do app?\n\nThe 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](https:\u002F\u002Fgithub.com\u002Fgooglesamples\u002Fandroid-architecture\u002Fwiki\u002FTo-do-app-specification).\n\n## What is it not?\n*   A template. Check out the [Architecture Templates](https:\u002F\u002Fgithub.com\u002Fandroid\u002Farchitecture-templates) instead.\n*   A UI\u002FMaterial Design sample. The interface of the app is deliberately kept simple to focus on architecture. Check out the [Compose Samples](https:\u002F\u002Fgithub.com\u002Fandroid\u002Fcompose-samples) instead.\n*   A real production app with network access, user authentication, etc. Check out the [Now in Android app](https:\u002F\u002Fgithub.com\u002Fandroid\u002Fnowinandroid) instead.\n\n## Who is it for?\n\n*   Intermediate developers and beginners looking for a way to structure their app in a testable and maintainable way.\n*   Advanced developers looking for quick reference.\n\n## Opening a sample in Android Studio\n\nTo 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 sample.\n\nClone the repository:\n\n```\ngit clone git@github.com:android\u002Farchitecture-samples.git\n```\n\nFinally open the `architecture-samples\u002F` directory in Android Studio.\n\n### License\n\n\n```\nCopyright 2024 Google, Inc.\n\nLicensed to the Apache Software Foundation (ASF) under one or more contributor\nlicense agreements. See the NOTICE file distributed with this work for\nadditional information regarding copyright ownership. The ASF licenses this\nfile to you under the Apache License, Version 2.0 (the \"License\"); you may not\nuse this file except in compliance with the License. You may obtain a copy of\nthe License at\n\nhttp:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\nWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\nLicense for the specific language governing permissions and limitations under\nthe License.\n```\n","该项目是一个展示不同架构工具和模式的Android应用示例集合。核心功能包括使用Jetpack Compose构建用户界面，采用单Activity架构与Navigation Compose实现导航，以及利用Flow和协程处理异步操作。此外，项目还包含一个数据层，具有本地（Room）和远程模拟数据源，并通过Hilt进行依赖注入。它适合于希望以可测试和可维护方式构建应用的中级开发者及初学者参考，同时也为高级开发者提供快速查阅的资源。",2,"2026-06-11 02:40:11","top_all"]