How blankj/androidutilcode works
AndroidUtilCode is an Android utility library, with a demo application that exposes its common and less-common APIs through feature screens. The main workflow is selecting a demo area, opening a feature screen, and exercising an API; the reusable utilities are the product, while the demo is their showcase. The graph also retains the shared demo UI layer and the separate debug-toolkit code visible in the tree. Some feature implementations were not sampled, so their internal calls are not inferred.
Main entry points: MainActivity.kt Demo home · CommonActivity.java Common activity UI · CommonItem.java Demo item models · CoreUtilActivity.kt Utility demos
Components 19
Demo Application
- Demo home
feature/main/pkg/src/main/java/com/blankj/main/pkg/MainActivity.kt - Utility demos
feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/CoreUtilActivity.kt - Special utility demos
feature/subutil/pkg/src/main/java/com/blankj/subutil/pkg/feature/SubUtilActivity.kt - Utility API bridge
feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/UtilCodeApiImpl.java - Special API bridge
feature/subutil/pkg/src/main/java/com/blankj/subutil/pkg/SubUtilApiImpl.java
Shared Demo UI
- Common activity UI
lib/common/src/main/java/com/blankj/common/activity/CommonActivity.java - Demo item models
lib/common/src/main/java/com/blankj/common/item/CommonItem.java - List adapter
lib/base/src/main/java/com/blankj/base/rv/BaseItemAdapter.java - Base fragments
lib/base/src/main/java/com/blankj/base/BaseFragment.java
Core Utilities
- Utility APIs
lib/utilcode/src/main/java/com/blankj/utilcode/util - App management
lib/utilcode/src/main/java/com/blankj/utilcode/util/AppUtils.java - Activity helpers
lib/utilcode/src/main/java/com/blankj/utilcode/util/ActivityUtils.java - Click behavior
lib/utilcode/src/main/java/com/blankj/utilcode/util/ClickUtils.java - Logging
lib/utilcode/src/main/java/com/blankj/utilcode/util/LogUtils.java
Specialized Utilities
- Specialized helpers
lib/subutil/src/main/java/com/blankj/subutil/util - Location service
feature/subutil/pkg/src/main/java/com/blankj/subutil/pkg/feature/location/LocationService.kt
Debug Tools
- Debug toolkit
lib/utildebug/src/main/java/com/blankj/utildebug/debug/tool - Floating tool views
lib/utildebug/src/main/java/com/blankj/utildebug/base/view/FloatViewManager.java
Other components
- Android user
Connections 16
- Android user → Demo home: opens demo
feature/main/pkg/src/main/java/com/blankj/main/pkg/MainActivity.kt - Demo home → Common activity UI: extends
feature/main/pkg/src/main/java/com/blankj/main/pkg/MainActivity.kt - Demo home → Demo item models: builds menu
feature/main/pkg/src/main/java/com/blankj/main/pkg/MainActivity.kt - Demo home → Utility API bridge: dispatches selection
feature/main/pkg/src/main/java/com/blankj/main/pkg/MainActivity.kt - Demo home → Special API bridge: dispatches selection
feature/main/pkg/src/main/java/com/blankj/main/pkg/MainActivity.kt - Utility demos → Common activity UI: extends
feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/CoreUtilActivity.kt - Utility demos → Demo item models: creates menu
feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/CoreUtilActivity.kt - Special utility demos → Common activity UI: extends
feature/subutil/pkg/src/main/java/com/blankj/subutil/pkg/feature/SubUtilActivity.kt - Special utility demos → Demo item models: creates menu
feature/subutil/pkg/src/main/java/com/blankj/subutil/pkg/feature/SubUtilActivity.kt - Common activity UI → List adapter: configures list
lib/common/src/main/java/com/blankj/common/activity/CommonActivity.java - Demo item models → List adapter: supplies items
lib/common/src/main/java/com/blankj/common/item/CommonItem.java - Base fragments → Click behavior: uses click handling
lib/base/src/main/java/com/blankj/base/BaseFragment.java - Utility API bridge → Utility demos: starts demo
- Special API bridge → Special utility demos: starts demo
- Location service → Specialized helpers: uses location helpers
feature/subutil/pkg/src/main/java/com/blankj/subutil/pkg/feature/location/LocationService.kt - Floating tool views → Debug toolkit: manages tool views
lib/utildebug/src/main/java/com/blankj/utildebug/base/view/FloatViewManager.java