728x90 Retrofit5 안드로이드 Retrofit TimeOut import com.google.gson.GsonBuilder import okhttp3.OkHttpClient import okhttp3.logging.HttpLoggingInterceptor import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory import java.util.concurrent.TimeUnit class RetrofitInstance { companion object { val BASE_URL: String = "https://jsonplaceholder.typicode.com" val interceptor = HttpLoggingInterceptor().apply { this.level = Htt.. 2022. 11. 28. 안드로이드 Retrofit Intercepter 적용 import com.google.gson.GsonBuilder import okhttp3.OkHttpClient import okhttp3.logging.HttpLoggingInterceptor import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory class RetrofitInstance { companion object { val BASE_URL: String = "https://jsonplaceholder.typicode.com" val interceptor = HttpLoggingInterceptor().apply { this.level = HttpLoggingInterceptor.Level.BODY } val .. 2022. 11. 28. 안드로이드 retrofit builder moshi builder를 넣어줘야 한다. 안 넣어주면 json object mapping시 매핑 실패 package com.ej.aboutme.di.module import com.ej.aboutme.api.AboutMeApi import com.ej.aboutme.api.AboutMeFetchr import com.ej.aboutme.util.ServerInfo import com.squareup.moshi.Moshi import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import dagger.Module import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.co.. 2022. 11. 27. 안드로이드 Corutine, Retrofit을 활용한 비동기 네트워킹 처리 중 에러 핸들링 개요 안드로이드에서 비동기 처리를 하는 대표적인 방법 중 하나는 Retrofit과 Coroutine을 활용하는 것이다. 이 과정에서 다양한 네트워크 오류 상황에 대응하기 위한 다양한 에러 핸들링 방법에 대해 소개하는 게시글이다. 1. try.. catch 블럭 가장 전통적인 방법이다. 단순히 네트워킹이 필요한 위치에 try..catch 블럭을 활용하면 된다. fun updateProfile(file: File) = viewModelScope.launch(Dispatchers.IO) { try{ repository.updateProfile(file) }catch(e: Exception){ //에러 처리 코드 } } 가장 흔하고 간단한 방법이지만 한 앱에서 여러 개의 네트워킹 처리 함수가 존재할텐데, 각 함.. 2022. 11. 3. 안드로이드 Retrofit MultipartFormdata fun updateMember(memberId : Long, memberUpdateDto: MemberUpdateDto,image: File?) : LiveData{ var result : MutableLiveData = MutableLiveData() // val aboutMeRequest = aboutMeApi.updateMember(memberId,memberUpdateDto) val filePart : MultipartBody.Part? val imageBody = RequestBody.create(MediaType.parse("image/jpeg"), image); filePart = MultipartBody.Part.createFormData("memberImage",image?.name,im.. 2022. 8. 10. 이전 1 다음 728x90