Dev/Android 125

JetpackCompose - SplashScreen API

과업 정의 : - 스플래시 스크린은 3초 유지하면서 로고는 애니메이션 처리 한다. 1. 라이브러리 추가 implementation("androidx.core:core-splashscreen:1.1.0-alpha02") 2. 컴파일 버전 맞추기 android { compileSdk = 34 ... } Dependency 'androidx.core:core-splashscreen:1.1.0-alpha02' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. 3. Splash 화면을 위한 Theme 에서 스타일 적용 기본 themes.xml android 31..

Dev/Android 2023.11.16

Bluetooth 관련 정리

1. BluetoothGatt.discoverServices() 연결된 블루투스에 호출할 수 있는 서비스를 호출하는 기능이다. 해당 함수를 호출하면 블루투스 연결을 할때 등록해 놓은 BluetoothGattCallback 콜백 클래스의 onServicesDiscovered() 로 이벤트가 온다. private val bluetoothGattCallback = object : BluetoothGattCallback() { override fun onConnectionStateChange(gatt: BluetoothGatt?, status: Int, newState: Int) { ... } override fun onServicesDiscovered(gatt: BluetoothGatt?, status: In..

Dev/Android 2023.03.09

Stream Chat 구현 - Android / 안드로이드

기본적으로는 공식 페이지를 참고해서 구현하면 되며, 추가적으로는 Stream 에서 일하고 계신 한국인 현직자 skydoves 님 블로그를 추가적으로 참고하면 도움이 크게 됩니다. 저는 제 기준으로 진행하면서 알았으면 좋았겠구나 싶은 부분을 기준으로 설명합니다. ⚠ Stream 에 계정이 있다는 전제하에 설명합니다. 모바일 채팅 구현에 앞서서 Stream 대시보드에 가서 채팅 앱(서버 역할)을 구성해야합니다. 1. Stream 대시보드에서 채팅에 사용할 서버 앱 구성 앱 생성 시 설정 환경이 PRODUCTION / DEVELOPMENT 2가지 형태가 있습니다. 앱 환경에 따라서 모바일에서 채팅을 구현할때 Token 필요 여부가 정해집니다. Development 환경으로 셋팅을 하면 Token 을 실제 생성..

Dev/Android 2022.09.29

Android Studio Dolphin 🐬(2021.3.1) - Stable Release

안드로이드 스튜디오 돌핀의 3가지 핵심 테마 - Jetpack Compose, Wear OS, 개발 생산성 https://android-developers.googleblog.com/2022/09/android-studio-dolphin.html Android Studio Dolphin Posted by Yuri Blaise, Product Manager, Android The Android Studio team took a deep dive into making it easier to make high quality ... android-developers.googleblog.com 1. Jetpack Compose - Compose Animation Inspector - 애니메이션 미리보기 가능 - ..

Dev/Android 2022.09.20

Android MVVM 패턴에 대해서

안드로이드 에서 Jetpack 라이브러리들을 통해서 MVVM 패턴을 적용한다면, ViewModel 을 만들고 LiveData, Flow 등을 사용해서 View(Activity, Fragment) 에서 옵저빙을 해야지 마틴 파울러가 말하는 MVVM 형태가 된다. (라고 생각한다.) 참고 - 안드로이드 ACC 에서의 MVVM 패턴에 대해서 설명 https://leveloper.tistory.com/216#:~:text=%EA%B0%84%EB%8B%A8%ED%95%98%EA%B2%8C%20%EC%9A%94%EC%95%BD%ED%95%B4%EB%B3%B4%EC%9E%90%EB%A9%B4,%EB%A1%9C%20%EC%9A%94%EC%95%BD%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%..

Dev/Android 2022.09.01

Kotlin Gson 활용해서 Json 파싱하는 방법

Json 값을 Gson 을 활용하여서 Data 클래스로 변환하는 방법 Converting from Data Class to JSON String var gson = Gson() var jsonString = gson.toJson(TestModel(1,"Test")) Assert.assertEquals(jsonString, """{"id":1,"description":"Test"}""") Converting from JSON String to a Data Class var jsonString = """{"id":1,"description":"Test"}"""; var testModel = gson.fromJson(jsonString, TestModel::class.java) Assert.assertEqua..

Dev/Android 2022.07.28

Room DB 마이그레이션

안드로이드 공식 페이지 - Room 데이터베이스 이전 기존 Room DB 구성 더보기 @Database( entities = [Alarm::class, MedicationHistory::class], version = 1 ) abstract class AppDatabase : RoomDatabase() { abstract fun alarmDao(): AlarmDao abstract fun medicationHistoryDoa(): MedicationHistoryDao companion object { @Volatile private var instance: AppDatabase? = null fun getDatabase(context: Context): AppDatabase = instance ?: sy..

Dev/Android 2022.07.14

Retrofit2 이슈 - com.google.gson.JsonIOException: JSON document was not fully consumed.

이슈 retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall@dffd7f3 com.google.gson.JsonIOException: JSON document was not fully consumed. 원인 REST API 의 Response 형태가 json 형태가 아닌 String 형태로 내려올 경우에 발생한다. 해결 ScalarsConverterFactory 추가 .addConverterFactory(ScalarsConverterFactory.create()) Retrofit.Builder() .baseUrl(IhpUrl.rest_api_url) .addConverterFactory(ScalarsConverterFactory.create()) .addCo..

Dev/Android 2022.04.25

[AndroidStudio] 사용중이던 Github 계정 바꾸기

IDE 경로 : AndroidStudio -> Preferences -> Version Control -> Github 순서대로 변경하려고 하는 계정을 선택하고 체크 표시를 선택하고 하단에 있는 Apply 를 클릭한다. terminal Push failed remote: Permission to 개인계정/BasicsCodelab.git denied to 회사. unable to access 'https://github.com/개인계정/BasicsCodelab.git/': The requested URL returned error: 403 AndroidStuiod 에 회사, 개인 Github 계정을 2개 등록시켜둔 상황. 여기서 개인 Repository 에 올릴려고 Push를 했으나 403 권한 문제로 소..

Dev/Android 2022.03.30