30 lines
1009 B
Markdown
30 lines
1009 B
Markdown
# CargoRadar Android
|
|
|
|
This is the first driver-app skeleton. It uses a foreground service, Android's
|
|
native `LocationManager`, and `HttpURLConnection` so the MVP has no runtime
|
|
library dependencies beyond the Android Gradle/Kotlin plugins.
|
|
|
|
## Build
|
|
|
|
Open `apps/android` in Android Studio, sync Gradle, then run the `app` module.
|
|
|
|
Current Gradle plugin choices:
|
|
|
|
- Android Gradle Plugin: `9.2.0`
|
|
- Kotlin: `2.4.0`
|
|
- compile/target SDK: `36`
|
|
|
|
## MVP behavior
|
|
|
|
- The app asks for foreground location and notification permissions.
|
|
- Press `운행 시작` to start a location foreground service.
|
|
- The service uploads location JSON to `/api/v1/locations`.
|
|
- Failed uploads are queued locally and retried after the next successful send.
|
|
- Press `운행 종료` to stop location updates.
|
|
|
|
For emulator testing, keep the default server URL `http://10.0.2.2:8080`.
|
|
For a real phone, use the NAS or PC LAN URL, for example
|
|
`http://192.168.0.10:8080`.
|
|
|
|
Production builds should use HTTPS and disable cleartext traffic.
|