[kotlin] 안드로이드로 서버랑 API연동방법

안드로이드 앱을 개발할 때 서버와의 통신은 매우 중요합니다. 이를 통해 앱은 외부 데이터를 가져오고 업데이트할 수 있습니다. 이 포스트에서는 안드로이드 앱에서 서버와 API를 연동하는 방법을 알아보겠습니다.

1. 네트워크 권한 추가

안드로이드Manifest.xml파일에 네트워크 액세스 권한을 추가해야 합니다.

<uses-permission android:name="android.permission.INTERNET" />

2. 네트워크 라이브러리 사용

안드로이드에서는 여러가지 네트워크 라이브러리를 사용할 수 있습니다. 대표적인 라이브러리로는 Retrofit, Volley, OkHttp 등이 있습니다. 여기서는 Retrofit을 사용하는 방법을 알아보겠습니다.

dependencies {
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
}

3. Retrofit 인터페이스 정의

Retrofit을 사용하기 위해 API 엔드포인트를 정의해야 합니다.

interface ApiService {
    @GET("posts")
    fun getPosts(): Call<List<Post>>
}

4. Retrofit 인스턴스 생성 및 사용

Retrofit.Builder를 사용하여 Retrofit 인스턴스를 생성하고, 이를 통해 API를 호출합니다.

val retrofit = Retrofit.Builder()
    .baseUrl("https://api.example.com/")
    .addConverterFactory(GsonConverterFactory.create())
    .build()

val apiService = retrofit.create(ApiService::class.java)

apiService.getPosts().enqueue(object: Callback<List<Post>> {
    override fun onResponse(call: Call<List<Post>>, response: Response<List<Post>>) {
        if (response.isSuccessful) {
            val posts = response.body()
            // 데이터 처리 로직
        } else {
            // 오류 처리 로직
        }
    }

    override fun onFailure(call: Call<List<Post>>, t: Throwable) {
        // 오류 처리 로직
    }
})

이제 안드로이드 앱에서 서버와 API를 간단히 연동하는 방법을 알아보았습니다. Retrofit을 사용하여 쉽게 네트워크 통신을 구성할 수 있으며, 안정적이고 효율적인 방법입니다.

더 많은 정보를 원하신다면 Retrofit 공식 문서를 참고하세요.