IT/Android (49) 썸네일형 리스트형 Android / 구글 플레이스토어 앱 출시 - 주소지 인증, 테스터 20명 부터 검수까지 올해 구글 개발자 계정을 만들고, 플레이 스토어 출시를 했다 !! 생각보다 딜레이가 많이 돼서 한~두달 걸렸음.. 1. 주소지 인증개발자 계정 생성 후, 앱을 등록하기 위해선 주소지 인증을 해야된다.요즘 종이명세서 받는 사람이 어디 있냐며... 주민등록 초본을 제출 했다.열람용을 pdf로 제출한건 인증 실패했는데, 주민등록 초본 종이로 뽑아서 스캔한 것을 다시 제출했더니 통과 됐다 !! 2. 비공개 테스트 - 테스터 20명 모집젤~~~ 힘들엇던 과정크게 세가지 방법정도가 있는데, 갤럭시 사용하는 지인 20명 모집, 크몽에 의뢰, 오픈카톡방 등에서 테스터 모집나는 일단 첫번째 방법으로 결정하였다. 지인의 지인까지 총출동. .^^이렇게 같이 프로젝트 했던 분들에게 구글 계정만 받고 비공개 테스터 승인을 받.. android / fcm notification (background data 컨트롤, 다국어 대응) 1. background data 컨트롤 fcm notification은 다음과 같은 형태로 값을 보낸다.{ "message":{ "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", "notification":{ "title":"Portugal vs. Denmark", "body":"great match!" }, "data" : { "Nick" : "Mario", "Room" : "PortugalVSDenmark" } }} notification과 data키가 있다.foreground 상태에서 해당 푸시를 받으면 onMessageRecieved함수에서 data값 및 푸시 알림을 컨트롤 할 .. Android / 키해시 구하기 keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64 안드로이드 스튜디오 터미널에 입력 Android / Version Catalog 적용 - 안드로이드 버전관리 1. gradle/libs.versions.toml 파일 생성[versions]coreKtx = "1.9.0"androidApplication = "8.1.0"[libraries]core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }[plugins]android-application = { id = "com.android.application", version.ref = "androidApplication" } 2. app/build.gradle.kt 에 적용implementation(libs.core.ktx) 3. build.gradle.kt에 적용plugins { alias(libs.plugins.and.. Android version 맞추기 (targetSdk 34 업그레이드/kotlin 버전 업그레이드) 1. 라이브러리 모듈과 프로젝트의 코틀린 버전의 충돌이 남. Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0. 1. targetSdk를 34로 업그레이드 하고(내친김에), 코틀린 버전을 1.8.0으로 올림 targetSdk 33 -> 34 compileSdk 33 -> 34 'com.android.tools.build:gradle:7.2.1' -> 'com.android.tools.build:gradle:7.2.2' 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21' -> 'org... Compose / 밀어서 삭제 구현 SwipeToDismiss 사용하기 Compose SwipeToDismiss를 사용하면 밀어서 삭제를 간단하게 구현할 수 있다. LazyColumn(modifier = Modifier.fillMaxHeight()) { items( items = tempList, key = { temp -> temp.no} ) { item -> val currentItem by rememberUpdatedState(newValue = item) SwipeToDismiss( state = rememberDismissState(confirmStateChange = { if(it == DismissValue.DismissedToStart){ // 밀었을때 액션 } true }), directions = setOf(DismissDirection.EndToStart.. Android / 안드로이드 notification Icon 적용 안드로이드 푸시메세지를 받았을때 뜨는 notification의 icon은 svg, 흰색, 24dp Android / 푸시알림 클릭시 PendingIntent Bundle값 전달 안되는 경우 푸시 알림 클릭하면 PendingIntent를 이용하여 MainActivity로 이동하는 로직에서 intent로 전달된 Bundle값이 초기값으로만 이동되는 현상이 발생하였다. 반복적으로 푸시알림이 들어와 노티가 쌓이게 되면 bundle값이 캐싱되어 실시간으로 값 변동이 전달되지 않는다. public static PendingIntent getActivity(Context context, int requestCode, @NonNull Intent intent, int flags, @Nullable Bundle options) { throw new RuntimeException("Stub!"); } PendingIntent.getActivity 함수를 보면 requestCode를 인자로 받고있다. 해당 인.. 이전 1 2 3 4 ··· 7 다음