{"adoption": {"forks": 773, "observed_at": "2026-08-28T04:05:57.184797+00:00", "stars": 1938}, "canonical_url": "https://ross.abutalabs.com/products/kjframeforandroid", "card": {"archived": false, "artifact_type": "framework", "description": "An Android library and includes ActivityFrame, KJHttp, KJBitmap, KJDataBase. KJFrameForAndroid is designed to wrap complexity of the Android native SDK and keep things simple.", "domain": ["mobile-development", "android-tools", "web-development", "databases"], "enriched": true, "function": ["http-client", "image-processing", "orm", "database", "web-framework"], "health_score": 78, "homepage": "https://www.kymjs.com/", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["kymjs/KJFrameForAndroid"], "name": "kymjs/KJFrameForAndroid", "platform": ["jvm"], "pushed_at": "2026-03-17T06:36:33+00:00", "repo": "kymjs/KJFrameForAndroid", "stars": 1938, "tags": ["android-sdk", "rapid-development", "mvc", "bitmap-loading", "http-requests", "sqlite-wrapper", "chinese-documentation", "android", "mobile"], "topics": [], "urls": [], "use_cases": ["make http requests from an android app", "load and cache images in listviews", "store objects in sqlite without writing raw sql", "structure an android app with an mvc pattern", "simplify android sdk boilerplate for faster app development", "handle https requests with cookie persistence on android"], "what_it_is": "KJFrameForAndroid is an Android rapid-development framework written in Java that wraps the complexity of the native Android SDK. It bundles modules for HTTP networking (KJHttp), image loading (KJBitmap), SQLite database access (KJDataBase), and an MVC-style Activity framework.", "when_to_avoid": ["you are using Kotlin with modern Android Jetpack libraries, coroutines, and Retrofit", "you need actively evolving features or large community support", "you only need networking or image loading - the author recommends RxVolley for those modules instead"], "when_to_choose": ["you are building a Java-based Android app and want a lightweight all-in-one framework for networking, images, and database", "you want a simple MVC structure instead of heavier architectures", "you need a small, proven library with Chinese-language documentation and long-term maintenance history"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kjframeforandroid", "repo": "kymjs/KJFrameForAndroid", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.184797+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:08:13.284241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71dd58ba958b90efb488d8c30ace68d4e3e87c4321fa3cd1e2d503ec88a7554e", "fetched_at": "2026-08-28T04:05:57.184797+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kymjs/KJFrameForAndroid"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.184797+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:08:13.284241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71dd58ba958b90efb488d8c30ace68d4e3e87c4321fa3cd1e2d503ec88a7554e", "fetched_at": "2026-08-28T04:05:57.184797+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kymjs/KJFrameForAndroid"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:08:13.284241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71dd58ba958b90efb488d8c30ace68d4e3e87c4321fa3cd1e2d503ec88a7554e", "fetched_at": "2026-08-28T04:05:57.184797+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kymjs/KJFrameForAndroid"}], "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:05:57.184797+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.184797+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.184797+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:08:13.284241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71dd58ba958b90efb488d8c30ace68d4e3e87c4321fa3cd1e2d503ec88a7554e", "fetched_at": "2026-08-28T04:05:57.184797+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kymjs/KJFrameForAndroid"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.184797+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.184797+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:08:13.284241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71dd58ba958b90efb488d8c30ace68d4e3e87c4321fa3cd1e2d503ec88a7554e", "fetched_at": "2026-08-28T04:05:57.184797+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kymjs/KJFrameForAndroid"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.184797+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.184797+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.184797+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:08:13.284241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71dd58ba958b90efb488d8c30ace68d4e3e87c4321fa3cd1e2d503ec88a7554e", "fetched_at": "2026-08-28T04:05:57.184797+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kymjs/KJFrameForAndroid"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.184797+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.184797+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:08:13.284241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71dd58ba958b90efb488d8c30ace68d4e3e87c4321fa3cd1e2d503ec88a7554e", "fetched_at": "2026-08-28T04:05:57.184797+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kymjs/KJFrameForAndroid"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:08:13.284241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71dd58ba958b90efb488d8c30ace68d4e3e87c4321fa3cd1e2d503ec88a7554e", "fetched_at": "2026-08-28T04:05:57.184797+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kymjs/KJFrameForAndroid"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:08:13.284241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71dd58ba958b90efb488d8c30ace68d4e3e87c4321fa3cd1e2d503ec88a7554e", "fetched_at": "2026-08-28T04:05:57.184797+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kymjs/KJFrameForAndroid"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:08:13.284241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71dd58ba958b90efb488d8c30ace68d4e3e87c4321fa3cd1e2d503ec88a7554e", "fetched_at": "2026-08-28T04:05:57.184797+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kymjs/KJFrameForAndroid"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 72, "longevity": 100, "rhythm": 42}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4469, "days_push": 169, "days_rel": 391, "gap_med": 0, "n_releases_24m": 2}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}