界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

android-networking

android-networking

【开发与工程】Integrate Retrofit, OkHttp, and Kotlinx Serialization for type-safe API communication in Android. Use when building API clients, adding interceptors, or configuring network security—not standalone MockWebServer or API-test setup.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: android-networking description: Integrate Retrofit, OkHttp, and Kotlinx Serialization for type-safe API communication in Android. Use when building API clients, adding interceptors, or configuring network security—not standalone MockWebServer or API-test setup. metadata: triggers: files: - '/*Api.kt' - '/*Service.kt' - '**/*Client.kt' keywords: - Retrofit - OkHttpClient - "@GET" - "@POST"

Android Networking Standards

Priority: P0 (CRITICAL)

1. Configure HTTP Stack

  • Use Retrofit 2 with OkHttp 4 for all backend communication.
  • Use Kotlinx Serialization with @SerialName for 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 suspend functions.
  • Declare endpoints only in API interface — handle errors in Repository.

See setup & wrappers for API endpoint definitions.

3. Add Cross-Cutting Concerns

  • Use OkHttp Interceptors for Bearer token injection and HttpLoggingInterceptor (debug only).
  • Wrap responses with Result wrapper or Either in 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 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.

References

我的收藏