{"adoption": {"forks": 1016, "observed_at": "2026-08-28T04:06:00.898363+00:00", "stars": 1971}, "canonical_url": "https://ross.abutalabs.com/products/thinkandroid", "card": {"archived": false, "artifact_type": "framework", "description": "ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架，其开发宗旨是简单、快速的进行 Android应用程序的开发，包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent的http模块, 具有快速构建文件缓存功能，无需考虑缓存文件的格式，都可以非常轻松的实现缓存，它还基于文件缓存模块实现了图片缓存功能， 在android中加载的图片的时候，对oom的问题，和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类， 如日志管理，配置文件管理，android下载器模块，网络切换检测等等工具。", "domain": ["mobile-development", "android-tools", "web-development", "developer-tools"], "enriched": true, "function": ["orm", "http-client", "caching", "image-processing", "logging", "state-management", "developer-tools"], "health_score": 20, "homepage": "http://www.thinkandroid.cn", "language": "Java", "license": null, "license_family": "other", "maturity": "abandoned", "member_repos": ["white-cat/ThinkAndroid"], "name": "white-cat/ThinkAndroid", "platform": ["jvm"], "pushed_at": "2017-07-24T09:27:30+00:00", "repo": "white-cat/ThinkAndroid", "stars": 1971, "tags": ["android-framework", "mvc", "ioc", "sqlite-orm", "image-cache", "downloader", "network-state-detection", "discontinued", "android", "mobile"], "topics": [], "urls": [], "use_cases": ["build android apps faster with an mvc framework", "bind ui views and resources with annotations instead of findviewbyid", "store and query sqlite databases with an orm on android", "load images into imageviews without oom or list scrolling glitches", "cache files and images on android with simple configuration", "download files in the background with resume and pause support", "detect network connectivity changes in an android app"], "what_it_is": "ThinkAndroid is a free, open-source Android development framework aimed at simple and rapid Android app development. It bundles MVC structure, annotation-based IOC, a SQLite ORM, an HTTP client wrapper, file/image caching, a multi-threaded downloader, logging, configuration, and network state detection utilities.", "when_to_avoid": ["starting any new Android project - the project is explicitly discontinued and unmaintained", "modern Android development where AndroidX, Retrofit, Room, and Coil/Glide are standard", "projects needing security patches or compatibility with recent Android API levels"], "when_to_choose": ["maintaining a legacy Android project already built on ThinkAndroid", "learning how an all-in-one Android framework is structured", "working on an old project targeting very old Android versions where HttpClient is still available"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/thinkandroid", "repo": "white-cat/ThinkAndroid", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.898363+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:05:06.629184+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bda72ca9ee995dee1caa850c9a2543ab378cca570e55f87923e2b963940ba535", "fetched_at": "2026-08-28T04:06:00.898363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/white-cat/ThinkAndroid"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.898363+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:05:06.629184+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bda72ca9ee995dee1caa850c9a2543ab378cca570e55f87923e2b963940ba535", "fetched_at": "2026-08-28T04:06:00.898363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/white-cat/ThinkAndroid"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:05:06.629184+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bda72ca9ee995dee1caa850c9a2543ab378cca570e55f87923e2b963940ba535", "fetched_at": "2026-08-28T04:06:00.898363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/white-cat/ThinkAndroid"}], "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:06:00.898363+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.898363+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.898363+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:05:06.629184+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bda72ca9ee995dee1caa850c9a2543ab378cca570e55f87923e2b963940ba535", "fetched_at": "2026-08-28T04:06:00.898363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/white-cat/ThinkAndroid"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.898363+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.898363+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:05:06.629184+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bda72ca9ee995dee1caa850c9a2543ab378cca570e55f87923e2b963940ba535", "fetched_at": "2026-08-28T04:06:00.898363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/white-cat/ThinkAndroid"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.898363+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.898363+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.898363+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:05:06.629184+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bda72ca9ee995dee1caa850c9a2543ab378cca570e55f87923e2b963940ba535", "fetched_at": "2026-08-28T04:06:00.898363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/white-cat/ThinkAndroid"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.898363+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.898363+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:05:06.629184+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bda72ca9ee995dee1caa850c9a2543ab378cca570e55f87923e2b963940ba535", "fetched_at": "2026-08-28T04:06:00.898363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/white-cat/ThinkAndroid"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:05:06.629184+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bda72ca9ee995dee1caa850c9a2543ab378cca570e55f87923e2b963940ba535", "fetched_at": "2026-08-28T04:06:00.898363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/white-cat/ThinkAndroid"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:05:06.629184+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bda72ca9ee995dee1caa850c9a2543ab378cca570e55f87923e2b963940ba535", "fetched_at": "2026-08-28T04:06:00.898363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/white-cat/ThinkAndroid"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:05:06.629184+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bda72ca9ee995dee1caa850c9a2543ab378cca570e55f87923e2b963940ba535", "fetched_at": "2026-08-28T04:06:00.898363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/white-cat/ThinkAndroid"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4860, "days_push": 3327, "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}}