How p2u11/konbini-client works
Konbini is an Android app-store client: users browse or search the catalog, open an app’s detail and version information, then download and install it. The tree and sampled code also show category browsing, installed-app/update views, login/profile/settings screens, and update notifications. UI activities coordinate catalog access through API/network code; the download service handles APK transfer and installation. Several secondary screens and API methods were not sampled, so their internal wiring is intentionally left unspecified.
Main entry points: KonbiniApi.java Store API client · CategoryListActivity.java Category browser · AppDetailActivity.java App details · Http.java HTTP transport
Components 20
Store browsing
- Home and promos
app/src/main/java/io/github/konbini/market/ui/MainActivity.java - Category browser
app/src/main/java/io/github/konbini/market/ui/CategoryListActivity.java - Category apps
app/src/main/java/io/github/konbini/market/ui/CategoryAppsActivity.java - App search
app/src/main/java/io/github/konbini/market/ui/SearchActivity.java - App details
app/src/main/java/io/github/konbini/market/ui/AppDetailActivity.java
Account and settings
- Login
app/src/main/java/io/github/konbini/market/ui/LoginActivity.java - Profile
app/src/main/java/io/github/konbini/market/ui/ProfileActivity.java - User profile
app/src/main/java/io/github/konbini/market/ui/UserProfileActivity.java - Settings
app/src/main/java/io/github/konbini/market/ui/SettingsActivity.java
Downloads and updates
- Downloads view
app/src/main/java/io/github/konbini/market/ui/DownloadsActivity.java - APK downloader
app/src/main/java/io/github/konbini/market/service/DownloadService.java - Update checker
app/src/main/java/io/github/konbini/market/service/UpdateCheckService.java
API and models
- Store API client
app/src/main/java/io/github/konbini/market/net/KonbiniApi.java - HTTP transport
app/src/main/java/io/github/konbini/market/net/Http.java - App and versions
app/src/main/java/io/github/konbini/market/api/App.java - Catalog item model
app/src/main/java/io/github/konbini/market/model/AppItem.java - Preferences and auth
app/src/main/java/io/github/konbini/market/util/Prefs.java
Other components
- Android user
- Konbini server
- Android package installer
Connections 28
- Android user → Home and promos: opens
- Android user → Category browser: browses
- Android user → App search: searches
- Android user → Login: signs in
- Android user → Settings: configures
- Home and promos → Store API client: loads catalog
- App search → Store API client: searches apps
- Category browser → Store API client: loads apps
- Category browser → Category apps: opens category
- App search → App details: opens result
- Category apps → App details: opens app
- App details → Store API client: loads app
- Store API client → HTTP transport: sends requests
- HTTP transport → Konbini server: requests data
- Konbini server → HTTP transport: returns data
- Store API client → App and versions: parses app
- Category browser → Catalog item model: builds rows
- App details → APK downloader: starts download
- APK downloader → Konbini server: fetches APK
- APK downloader → Android package installer: launches install
- Android user → Downloads view: views downloads
- Downloads view → Konbini server: loads installed catalog
- Update checker → HTTP transport: checks versions
- Update checker → Android user: notifies updates
- Login → Preferences and auth: saves auth
- Settings → Preferences and auth: stores preferences
- Profile → Preferences and auth: reads profile state
- User profile → Konbini server: loads profile