UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ 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.

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

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

保存したスキル