{"adoption": {"forks": 168, "observed_at": "2026-08-28T04:04:52.133915+00:00", "stars": 1488}, "canonical_url": "https://ross.abutalabs.com/products/androidx-jetpack-practice", "card": {"archived": false, "artifact_type": "learning-resource", "description": "本仓库致力于建立最全、最新的的 AndroidX Jetpack 相关组件的实践项目 以及组件对应的分析文章（持续更新中）如果对你有帮助，请在右上角 star 一下，感谢", "domain": ["mobile-development", "android-tools", "tutorials", "developer-tools"], "enriched": true, "function": ["developer-tools", "boilerplate"], "health_score": 20, "homepage": null, "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["hi-dhl/AndroidX-Jetpack-Practice"], "name": "hi-dhl/AndroidX-Jetpack-Practice", "platform": ["jvm"], "pushed_at": "2022-05-08T07:15:13+00:00", "repo": "hi-dhl/AndroidX-Jetpack-Practice", "stars": 1488, "tags": ["jetpack", "androidx", "kotlin", "sample-apps", "hilt", "paging3", "datastore", "app-startup", "splashscreen", "mvvm", "android", "mobile"], "topics": [], "urls": [], "use_cases": ["learn how to use Jetpack Hilt dependency injection in Android", "see examples of Paging 3 loading local database and network data", "understand how to use DataStore for preferences and proto storage", "implement a splash screen compatible with Android 5.0 through Android 12", "learn App Startup library initialization patterns", "study MVVM architecture with Kotlin Flow, Room, and DataBinding", "find sample code for Hilt in multi-module Android projects"], "what_it_is": "A collection of practice projects and companion analysis articles covering AndroidX Jetpack components such as Splashscreen, App Startup, Paging 3, Hilt, and DataStore, written in Kotlin. It serves as a continuously updated learning resource for Android developers, including a comprehensive sample app (PokemonGo) combining many Jetpack technologies.", "when_to_avoid": ["you need a production-ready library or framework to add as a dependency", "you work outside Android development", "you need actively maintained code rather than educational examples"], "when_to_choose": ["you are an Android developer learning Jetpack components with Kotlin", "you want runnable sample projects paired with explanatory articles", "you need reference implementations of Hilt, Paging 3, or DataStore"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/androidx-jetpack-practice", "repo": "hi-dhl/AndroidX-Jetpack-Practice", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.133915+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:33:44.460608+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63fcf9488d8cdeca3ecf3d98cd4e7bb3142728085f0ff56267d4a3da90096d37", "fetched_at": "2026-08-28T04:04:52.133915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/AndroidX-Jetpack-Practice"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.133915+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:33:44.460608+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63fcf9488d8cdeca3ecf3d98cd4e7bb3142728085f0ff56267d4a3da90096d37", "fetched_at": "2026-08-28T04:04:52.133915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/AndroidX-Jetpack-Practice"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:33:44.460608+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63fcf9488d8cdeca3ecf3d98cd4e7bb3142728085f0ff56267d4a3da90096d37", "fetched_at": "2026-08-28T04:04:52.133915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/AndroidX-Jetpack-Practice"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.133915+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.133915+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.133915+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:33:44.460608+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63fcf9488d8cdeca3ecf3d98cd4e7bb3142728085f0ff56267d4a3da90096d37", "fetched_at": "2026-08-28T04:04:52.133915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/AndroidX-Jetpack-Practice"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.133915+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.133915+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:33:44.460608+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63fcf9488d8cdeca3ecf3d98cd4e7bb3142728085f0ff56267d4a3da90096d37", "fetched_at": "2026-08-28T04:04:52.133915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/AndroidX-Jetpack-Practice"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.133915+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.133915+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.133915+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:33:44.460608+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63fcf9488d8cdeca3ecf3d98cd4e7bb3142728085f0ff56267d4a3da90096d37", "fetched_at": "2026-08-28T04:04:52.133915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/AndroidX-Jetpack-Practice"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.133915+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.133915+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:33:44.460608+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63fcf9488d8cdeca3ecf3d98cd4e7bb3142728085f0ff56267d4a3da90096d37", "fetched_at": "2026-08-28T04:04:52.133915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/AndroidX-Jetpack-Practice"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:33:44.460608+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63fcf9488d8cdeca3ecf3d98cd4e7bb3142728085f0ff56267d4a3da90096d37", "fetched_at": "2026-08-28T04:04:52.133915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/AndroidX-Jetpack-Practice"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:33:44.460608+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63fcf9488d8cdeca3ecf3d98cd4e7bb3142728085f0ff56267d4a3da90096d37", "fetched_at": "2026-08-28T04:04:52.133915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/AndroidX-Jetpack-Practice"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:33:44.460608+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63fcf9488d8cdeca3ecf3d98cd4e7bb3142728085f0ff56267d4a3da90096d37", "fetched_at": "2026-08-28T04:04:52.133915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hi-dhl/AndroidX-Jetpack-Practice"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2272, "days_push": 1578, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}