kotlin 41

[Kotlin] intent.() vs intent. setFlags() 차이점

📱테스트 환경 Samsung Galaxy Android 13 • Android 10 😢 내가 겪은 문제 알림을 통해서 앱을 실행시켰을 때와 평범하게 앱을 실행시켰을 때 차이를 두고 싶었다. 그래서 알림에 .putExtra() 를 통해서 데이터를 보내주고 데이터가 있을 경우와 없을 경우를 나누웠는데 .. 문제는 Back Key 를 통해서 앱을 종료했다가, 백그라운드에 있는 앱을 눌러서 다시 실행시켰더니 .. Intent 값이 계속 남아있는것이다 !! 그래서 removeExtra() 를 해주면 된다고 해서 해줬는데 ... 값은 없는데 계속 똑같은 상황이 발생하니 .. 답답해 미치겠는 와중에 ... !! Kotlin 개발을 도와주시는 S 선생님께서 flags 항목에 해당 코드를 추가하라고 말씀해주셨다 ㅎㅎ I..

Kotlin 2023.08.10

[Kotlin] MAC .apk • .aab Build

📱테스트 환경 Mac 에서 Android Studio > About Android Studio 에서 확인하면 된다 : ) 😢 내가 겪은 문제 앱 빌드를 하는데, .apk 만 빌드를 해서 실제 핸드폰에서 설치해서 테스트 해보고 했는데 플레이 스토어에 올릴려고 보니 ... .aab 파일이 필요하단다 ... 나는 이번에 앱개발도 처음이고 .. 아이폰을 쓰다 보니 .apk 는 어렸을 때 불법다운로드(?) 하면서 몇번 설치해봤지만 .aab 확장자도 처음들어봤다 ㅋㅋ 아무튼 !! 그래서 이번기회에 .apk 와 .aab 확장자를 가진 파일을 빌드하는 방법을 기록해두려고 한다 !! .apk Build 1. 아주 친절하게 Build > Build Bundle(s) / APK(s) 라고 적힌 곳 클릭 ! 2. 아주 친절하..

Kotlin 2023.08.10

[Kotlin] ByteArray -> Bitmap Image Resize

📱테스트 환경 Samsung Galaxy Android 13 • Android 10 😢 내가 겪은 문제 DB에 저장되어있는 이미지를 가져와서 ImageView 에 넣고 wrap_content / wrap_content 해주고 크기를 봤는데 ... 너무 처참하게 작아서 잘 안보였다 .. 그래서 reSize 를 해주고싶었는데 잘 안됐다 .. 검색해서 이것저것 찾아봤는데 내 얇디얇은 지식으로는 이해하기 쉽지 않았다 ...!! 그래서 열심히 뒤져서 결국 해냈는데 해당 코드를 기록해 놓고 싶었다 : ) 먼저 ByteArray Type 으로 넘어온 이미지를 Bitmap 형식으로 변환해주었다. 그래야 ImageView 에 넣어줄 수 있다 !! val imageBitmap = BitmapFactory.decodeByt..

Kotlin 2023.08.09

[Kotlin] This view is not constrained vertically: at runtime it will jump to the top unless you add a vertical constraint

📱테스트 환경 Samsung Galaxy Android 13 • Android 10 😢 내가 겪은 문제 xml 에서 ImageView 를 만들었는데, 에러가 발생했다. 나는 이미지를 Kotlin 에서 동적으로 넣어주고 싶어서 src 를 지정을 안했는데, 이게 문제인가 싶었는데 다른게 문제였다. 에러를 풀이하면 레이아웃에서 사용되는 ImageView에 수직으로 제약이 설정되지 않았다는 것이다. 결과적으로 실행 시에 예상치 못한 동작을 할 수 있어서 뷰가 컨테이너의 맨 위로 이동할 수 있다는 경고였다. 이를 해결하기 위해서는 간단하게 필요한 코드를 추가해주면 끝난다. app:layout_constraintStart_toStartOf="parent" or app:layout_constraintEnd_toEnd..

Kotlin 2023.08.09

[Kotlin] Activity 간에 데이터 주고받는 방법

📱테스트 환경 Samsung Galaxy Android 13 • Android 10 😢 내가 겪은 문제 Activity 를 전환할 때 여기있는 일부 데이터도 같이 전송하고 싶었다. 근데 ... 정말 간단하다 ...!! 그래서 정말 간단하게 설명을 적어두고 간단한 코드를 기록하려고 한다 : ) 복사 붙여넣기만 해도 작동이 될 정도로 ㅎㅎ 데이터를 보낼 때 class SendingActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_sending) val valueToSend = "Hell..

Kotlin 2023.08.09

[Kotlin] 앱 알림 보내기

📱테스트 환경 Samsung Galaxy Android 13 • Android 10 😢 내가 겪은 문제 앱에서 알림을 보내고 싶은데 ... FCM 으로 보내는 방법의 설명은 참 많았는데 나는 FCM 을 통해서 보내는걸 원하지 않았다 ....!! 그래서 정보찾기가 정말 힘들었는데 .. 일단 나는 FCM 을 이용하지 않고 앱에서 알림을 보내기로 했으니 필요하다면 참고하기엔 괜찮을 것 같다 !! Manifests.xml Android 13 이상 에서는 예외 없는 알림을 보내기 위한 새로운 런타임 권한 이 필요 하다고 말하니 추가 해준다. sendNotification.kt private val CHANNEL_ID = "채널 아이디" private val NOTIFICATION_ID = 1 fun sendNot..

Kotlin 2023.08.09

[Kotlin] Activity 이동 시 Animation 제거하는 방법

📱테스트 환경 Samsung Galaxy Android 13 • Android 10 😢 내가 겪은 문제 알림을 통해서 앱이 켜질때는 카카오톡처럼 애니메이션없이 화면이 바로 뜨게 하고싶었다. 그래서 ChatGPT 한테 물어봤더니 RecyclerView 에서 없애는 방법을 소개해줬는데 ... init { setHasStableIds(true) } // ... Other functions ... override fun getItemViewType(position: Int): Int { return 1 // Return a constant value for all items } override fun getItemId(position: Int): Long { return position.toLong() // R..

Kotlin 2023.08.09

[Kotlin] Splash Screen 만들기

📱테스트 환경 Samsung Galaxy Android 13 • Android 10 😢 내가 겪은 문제 코틀린 개발을 강의 하나보고 구글에 검색해가면서 처음 개발하다보니 .. 이런게 있는지도 잘 몰랐다 .. 내가 만든건 내가 생각해도 좀 이상한것같다 .. 근데 잘 되긴한다 ....!! 그냥 내가 참고하고 기록하려고 하는거니 .. 이해가 필요하다 .. 딜레이를 1초 준 뒤 MainActivity 로 이동했다. ( 2 ~ 3 초도 적용해봤는데 , 나는 1초가 가장 이쁜것 같았다. ) SplashActivity.kt class SplashActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCre..

Kotlin 2023.08.09

[Kotlin] 앱 삭제 이후에도 일부 데이터 캐시 남아있을 때

📱테스트 환경 Samsung Galaxy Android 13 • Android 10 😢 내가 겪은 문제 Android 13 에서 앱을 삭제했는데도 Room 에 저장되어있는 데이터들이 일부 자꾸 남아있었다. 나는 앱을 지웠는데 자꾸 남아있어서 너무 어이가 없고 화가 나는 상황속에서 열심히 구글에 검색해서 찾아봤더니 ... 원인은 자동백업 ( backupManager ) 때문이였다 ... 이때문에 진짜 .. 시간 너무 많이 썼는데 해결방법은 의외로 정말 간단했다 !! allowBackup 과 fullBackupContent 를 false 해주면 끝난다. 이렇게 해주지 않으면 사용자도 모르게 구글 클라우드에 자동으로 백업된다고 한다. AndroidManifest.kt

Kotlin 2023.08.09

[Kotlin] Retrofit2 연결

📱테스트 환경 Samsung Galaxy Android 13 • Android 10 😢 내가 겪은 문제 내가 만든 API 를 연결하려고 찾아보다가 Retrofit2 를 찾았다. 근데 이걸 어떻게 하는지 구글에 검색해서 따라해 보려고했는데 와... 내 머리로는 이해하기도 쉽지 않았고, 내 프로젝트에서 따라하려고 해도 오류 투성이였다... 그래서 강의도 결제하고 , 검색해서 나에게 필요한 정보만 가져와다가 어떻게 되긴 됐다... ^^ Build.gradle ( Module :app ) // retrofit2 implementation 'com.squareup.retrofit2:retrofit:2.9.0' // Gson 변환기 implementation 'com.squareup.retrofit2:convert..

Kotlin 2023.08.08