728x90
반응형

개발 44

더 이상 사용할 수 없음

요즘 KMP+CMP로 안드로이드 개발자도 아이폰 앱 개발을 할 수 있게 됐습니다.특히 1.8.0 부터는 iOS도 stable 버전이 되어서 더욱 안심하고 개발할 수 있게 됐습니다.https://blog.jetbrains.com/kotlin/2025/05/compose-multiplatform-1-8-0-released-compose-multiplatform-for-ios-is-stable-and-production-ready/ Compose Multiplatform 1.8.0 Released: Compose Multiplatform for iOS Is Stable and Production-Ready | The Kotlin BlogKotlin Multiplatform becomes a complete s..

개발/iOS 2025.06.03

kotlinx serialization 환경설정

시간은 없고 바쁘니 간단하게 작성만 함[versions]kotlinxSerializationJson = "1.8.1"[libraries]kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }[plugins]kotlinSerializaitons = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin"}// module build.gradle.ktsplugins { alias(libs.plugins.kotlinSerializaitons)}d..

(Emulator) Emulator에서 네트워크 통신이 안될 때

우테코에서 Retrofit 수업준비를 위해서 예제코드를 만드는데 요청은 가고 응답이 안오는 상황에서 뭐가 문제인지 열심히 삽질 하다가 해결하고 블로그를 작성합니다. 원인 분석원인을 파악하기 위해서 여러가지 테스트를 해봤다.1. server에서 android 요청을 차단하는 것인가?User-Agent를 변경해서 요청해도 결국 응답은 오지 않았다.2. https가 아닌 http라서 안되는 것인가?예제 url인 http를 요청하는게 아니라 https://randomuser.me/api/ 와 같은 https 요청도 응답은 오지 않았다.3. 실기기가 아닌 Emulator라서 안되는 것인가?Emulator가 아닌 실기기에서는 응답이 잘 왔다!그렇다면 Emulator 환경에서 Network문제로 통신이 안되는 것으로..

(Android) 간단하게 Activity, Fragment 보여주기

이번 포스팅은 Activity를 start하거나 Fragment를 보여주는 코드를 어떻게 하면 간단하게 보여줄 수 있는지 소개하고자 합니다.Activity기존 스타일// in Activityval intent = Intent(this, DestinationActivity::class.java)intent.putExtra("key1", "value1")intent.putExtra("key2", "value2")startActivity(intent)// in Fragmentval intent = Intent(requireContext(), DestinationActivity::class.java)intent.putExtra("key1", "value1")intent.putExtra("key2", "value..

(Android) bundleOf로 데이터 편하게 전달하기

이번 포스팅은 bundleOf()를 사용해서 Activity나 Fragment에 데이터를 더욱 더 쉽게 전달하는 방법에 대해 소개 합니다.SetupbundleOf()함수는 Android KTX중에 core-ktx에 있는 함수 입니다.그래서 사용하기 전에 build.gradle에 core-ktx를 추가해 줘야 합니다.이 포스팅을 작성했을 때 버전은 1.2.0 입니다.dependencies { implementation "androidx.core:core-ktx:1.15.0"}bundleOf()bundleOf 함수는 key와 value가 쌍으로 이루어진 요소를 담고 있는 Bundle을 만들어서 리턴하는 함수 입니다.함수는 Pair를 파라미터로 전달 받고 Bundle을 리턴하는 형태로 되어 있습니다. 또..

(Gradle) libs.versions.toml 쉽게 추가하기

이전과 다르게 Android Studio에서 프로젝트를 생성하면 gradle 폴더 하위에 libs.versions.toml이 있는 것을 알 수 있습니다.Gradle Version Catalog인 libs.versions.toml을 활용해서 라이브러리를 쉽게 관리하는 방법을 소개하려고 합니다.1. 기존 dependencies {}에 직접 추가하는 방식의 문제점dependencies { implementation("androidx.core:core-ktx:1.15.0") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.7") implementation("com.squareup.retrofit2:retrofit:2.9.0")}우리는 ..

(Gradle) BOM(Bill of Materials)이란?

안녕하세요! 이번 글에서는 Gradle BOM(Bill of Materials)이 무엇인지, 그리고 Android 개발, 특히 Jetpack Compose에서 어떻게 활용할 수 있는지 알아보겠습니다. 1. BOM(Bill of Materials)📌 라이브러리 버전 관리 문제Android 개발을 하다 보면, 여러 라이브러리를 추가하는 경우가 많습니다.예를 들어, Jetpack Compose를 사용할 때 compose-ui, compose-material, compose-runtime 등 다양한 라이브러리를 함께 추가해야 합니다.dependencies { implementation("androidx.compose.ui:ui:1.5.0") implementation("androidx.compose..

Kotlin Multiplatform 환경설정: kdoctor Xcode Command Line Tools 에러 해결하기

Kotlin Multiplatform(KMP)을 설정하는 과정에서 kdoctor를 실행했을 때, Xcode의 Command Line Tools 관련 에러가 발생할 수 있습니다.위 에러는 간단하게 해결 됩니다. 해결 방법1. Xcode를 실행2. Settings -> Locations 탭으로 이동3. Command Line Tools에서 Xcode 16.2를 재선택4. (No Xcode Selected) 에서 /Applications/Xcode.app 으로 변경 확인블로그 글에 대해 궁금한 점이 있다면 아래 카카오톡 오픈채팅에 들어와서 질문해주세요 Android Kotlin Compose QnA open.kakao.com

개발/KMP 2025.01.31

Inconsistent JVM-target compatibility detected 에러

Github에 있는 Android 프로젝트를 받아서 실행하려는데 이런 에러가 발생했다. 받았던 프로젝트에서 compileOption과 kotlinOption을 확인하니 17로 되어 있었다. 현재 Android Studio에서 Gradle JDK 설정을 보니 버전이 21로 되어있었고 이게 맞지 않아서 발생한 에러였다.여기 있는 Gradle JDK를 17버전으로 맞춰서 변경해주면 에러는 해결된다.

(Hilt) 환경설정 + libs.versions.toml + ksp

오랜만에 샘플 프로젝트를 만들기 위해서 compose project를 만들었는데 자동으로 생성해주는 프로젝트에는 libs.versions.toml 파일을 이용해서 라이브러리와 플러그인의 버전 관리를 하고 있었습니다. 최근 kapt대신 ksp가 떠오르고 있고 해서 Hilt 환경설정을 할 때 ksp와 libs.versions.toml을 사용해서 환경설정을 하는 방법에 대해 소개하고자 합니다. libs.versions.toml[versions]kotlin = "1.9.0" or "2.0.20"ksp = "1.9.0-1.0.13" or "2.0.20-1.0.24"hilt = "2.51.1"[libraries]hilt-android = { group = "com.google.dagger", name = "hilt..

728x90
반응형