Android Networking Standards
Priority: P0
1. Configure the HTTP Stack
- Use Retrofit 2 with OkHttp 4 for all backend communication.
- Use Kotlinx Serialization with
@SerialNamefor JSON field mapping. - Implement Certificate Pinning for sensitive production domains.
See setup & wrappers for DTO and API examples.
2. Define API Endpoints
- All API calls must be
suspendfunctions. - Declare endpoints only in the API interface — handle errors in Repository.
See setup & wrappers for API endpoint definitions.
3. Add Cross-Cutting Concerns
- Use OkHttp Interceptors for
Bearer tokeninjection andHttpLoggingInterceptor(debug only). - Wrap responses with a
Resultwrapper orEitherin the Repository layer. - Define R8/ProGuard rules for Retrofit/OkHttp when
isMinifyEnabled = true. - Use MockWebServer for unit/integration tests — cover 500, 401, 403 error cases.
Anti-Patterns
- No Blocking Network Calls: All API functions must be suspend.
- No Logic in API Interface: Only declare endpoints — handle errors in Repository.
- No Raw Converter Factory: Explicitly set "application/json" MediaType with kotlinx.serialization.