728x90 Kotlin25 [Android] - Retrofit으로 이미지 업로드 with Kotlin 안드로이드 앱을 개발하며 서버와 네트워크 작업을 하는 일이 종종 있습니다. Get요청이나 Post요청 등 여러 요청을 보낼 때 단순히 텍스트로 정보를 보내는 것이 아닌 이미지를 보낼 때 어떻게 해야 할지 설명해 보겠습니다. 단순히 정보를 보내기 위해서 gradle을 추가하거나, internet 관련 권한이나 서버 통신을 위한 작업들은 이번 글에서 주로 다루는 주제가 아니므로 다른 글에서 제대로 설명하겠습니다. 먼저 서버로 이미지를 업로드할 때에는 주로 이미지를 파일로 전송합니다. Retrofit에서는 편리하게 이미지를 전송할 수 있도록 지원해 줍니다. api 관련 로직 작성 import okhttp3.MultipartBody import retrofit2.http.Multipart import retro.. 2023. 2. 21. Kotlin - Infix 함수 코틀린에는 코드를 사용하다 보면 Map을 사용한다던가 Pair를 사용한다거나 하나의 객체로 만들어주는 경우들이 종종 있습니다. val chicken: Pair = "Chicken" to "치킨" 그렇다면 저 'to'는 어떻게 "Chicken"과 "치킨"을 객체로 만들어 줄까요? package kotlin public infix fun A.to(that: B): kotlin.Pair { /* compiled code */ } to의 내부 구현 코드를 본다면 제네릭으로 두 개의 객체를 받고, A의 확장 함수로 만들어서 A와 B로 Pair 형태로 반환해 주는 코드가 내장되어 있습니다. val food1 = mapOf(Pair("Chicken", "치킨"), Pair("Pizza", "피자")) val food.. 2023. 2. 20. Composable 에서 ViewModel 공유하기 Android 앱을 개발하다 보면 값들을 공유해야 하는 상황이 있습니다. 하지만 Compose에서 지원해 주는 ViewModel은 Composable 간에 공유가 되지 않습니다. viewModel @Composable inline fun viewModel( viewModelStoreOwner: ViewModelStoreOwner = checkNotNull(LocalViewModelStoreOwner.current) { "No ViewModelStoreOwner was provided via LocalViewModelStoreOwner" }, key: String? = null, factory: ViewModelProvider.Factory? = null, extras: CreationExtras = if.. 2023. 2. 19. Div에 background image 사용하기 웹에서 만약 background image를 사용하려면 background-image: url(http://..../); CSS에서 이런 식으로 지정해 줍니다 Compose web에서도 div에 bacckground Image를 사용할 수 있습니다. backgroundImage("https://images.unsplash.com/photo-1519810755548-39cd217da494?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=776&q=80") 그러면 이런 식으로 사용하면 되나? 싶어서 해봤지만 이미지가 로딩이 되지 않고, 그저 검은 화면이 뜨게 됩니다. 이유는 해당 코드에서 url을 따.. 2023. 2. 8. compose web live reload 시키기 Compose Web에서는 live Reload 기능을 지원을 하지 않는 줄 알고, 계속 껐다 켰다 삽질을 했었지만 사실은 가능합니다. 그것도 아주 간단하게 실행문 뒤에 --continue만 붙여주면 변경에 따라 화면을 다시 구성해 줍니다. ./gradlew jsBrowserDevelopmentRun --continuous 2023. 2. 8. Compose For Web에서 실행 종료하기 Compose for Web 버전을 사용할 때 코드를 수정하고 일을 마치면 실행을 종료해야 합니다. 하지만 항상 그냥 종료를 하기에는 조급 아쉽다는 생각이 듭니다. 그렇기에 터미널 창에서 종료하는 법을 정리해 보겠습니다. 종료 명령어는 Terminal 창에서 실행되기 때문에 linux에서 실행 종료를 의미하는 명령어인 ctrl + c를 누르면 프로세스가 종료됩니다. 2023. 2. 8. 이전 1 2 3 4 5 다음 728x90