{"adoption": {"forks": 1071, "observed_at": "2026-08-28T04:03:46.220025+00:00", "stars": 1148}, "canonical_url": "https://ross.abutalabs.com/products/android-advanced", "card": {"archived": true, "artifact_type": "learning-resource", "description": "Solution apps for the apps that students create as they work through the Advanced Android Development training course created by Google Developer Training.", "domain": ["android-tools", "mobile-development", "tutorials", "education"], "enriched": true, "function": ["developer-tools"], "health_score": 10, "homepage": null, "language": "Java", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["google-developer-training/android-advanced"], "name": "google-developer-training/android-advanced", "platform": ["jvm", "cross-platform"], "pushed_at": "2021-10-19T08:19:56+00:00", "repo": "google-developer-training/android-advanced", "stars": 1148, "tags": ["android", "training-course", "sample-apps", "google", "java", "exercises"], "topics": [], "urls": [], "use_cases": ["learn advanced android development with guided exercises", "find solution code for advanced android training course exercises", "study sample android apps using recyclerview and sqlite", "practice android development after completing android developer fundamentals", "reference working android app examples in java", "teach an instructor-led advanced android course"], "what_it_is": "A collection of solution apps and samples for Google's Advanced Android Development training course, written in Java. Each sample corresponds to a practical exercise in the instructor-led course for intermediate Android developers.", "when_to_avoid": ["you need production-ready app templates or maintained libraries", "you want Kotlin-first or modern Jetpack Compose examples", "you are a beginner who has not completed Android Developer Fundamentals"], "when_to_choose": ["you are following Google's Advanced Android Development course and need exercise solutions", "you are an intermediate Android developer wanting structured, hands-on practice", "you need runnable reference apps demonstrating common Android patterns"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/android-advanced", "repo": "google-developer-training/android-advanced", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.220025+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:33:50.236316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "392c06952462abf590a7439d9d6585ae25dafb046dc7e7698855a5d79f0d21c5", "fetched_at": "2026-08-28T04:03:46.220025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google-developer-training/android-advanced"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.220025+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:33:50.236316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "392c06952462abf590a7439d9d6585ae25dafb046dc7e7698855a5d79f0d21c5", "fetched_at": "2026-08-28T04:03:46.220025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google-developer-training/android-advanced"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:33:50.236316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "392c06952462abf590a7439d9d6585ae25dafb046dc7e7698855a5d79f0d21c5", "fetched_at": "2026-08-28T04:03:46.220025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google-developer-training/android-advanced"}], "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:03:46.220025+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.220025+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.220025+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:33:50.236316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "392c06952462abf590a7439d9d6585ae25dafb046dc7e7698855a5d79f0d21c5", "fetched_at": "2026-08-28T04:03:46.220025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google-developer-training/android-advanced"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.220025+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.220025+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:33:50.236316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "392c06952462abf590a7439d9d6585ae25dafb046dc7e7698855a5d79f0d21c5", "fetched_at": "2026-08-28T04:03:46.220025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google-developer-training/android-advanced"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.220025+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.220025+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.220025+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:33:50.236316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "392c06952462abf590a7439d9d6585ae25dafb046dc7e7698855a5d79f0d21c5", "fetched_at": "2026-08-28T04:03:46.220025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google-developer-training/android-advanced"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.220025+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.220025+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:33:50.236316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "392c06952462abf590a7439d9d6585ae25dafb046dc7e7698855a5d79f0d21c5", "fetched_at": "2026-08-28T04:03:46.220025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google-developer-training/android-advanced"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:33:50.236316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "392c06952462abf590a7439d9d6585ae25dafb046dc7e7698855a5d79f0d21c5", "fetched_at": "2026-08-28T04:03:46.220025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google-developer-training/android-advanced"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:33:50.236316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "392c06952462abf590a7439d9d6585ae25dafb046dc7e7698855a5d79f0d21c5", "fetched_at": "2026-08-28T04:03:46.220025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google-developer-training/android-advanced"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:33:50.236316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "392c06952462abf590a7439d9d6585ae25dafb046dc7e7698855a5d79f0d21c5", "fetched_at": "2026-08-28T04:03:46.220025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google-developer-training/android-advanced"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3256, "days_push": 1779, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}