본문 바로가기

IT

(74)
안드로이드 / EditText text 위로 정렬 android:gravity 속성을 top으로 설정하면 multiLine인 EditText의 text를 위로 정렬할 수 있다.
안드로이드 스튜디오 / GPT-3 API를 이용한 모바일 챗봇 만들기 구현 기능 gpt-3 api 통신을 통한 채팅 temperature, frequency panalty 값 설정 채팅 화면 초기화 채팅 내용 공유 (시스템 공유하기 사용) 오프라인 환경에서도 채팅내용 불러오기 기술스택 & 라이브러리 IDE -> Android Studio Language -> Kotlin Network -> Retrofit,OkHttp Coroutine Dependency injection -> Dagger Hilt Android Jetpack (ViewModel, LiveData, viewBidning, RecyclerView, Room, Navigation) 1. 프로젝트 구성 안드로이드 클린아키텍처를 구성하고자, data, domain, app 모듈을 분리하고, hilt로 의존성 주입..
안드로이드 스튜디오 / SOFT_INPUT_ADJUST_RESIZE deprecated SOFT_INPUT_ADJUST_RESIZE를 맨 하단에 있는 editText를 클릭했을때 soft keybord가 올라오면서 editText가 안가려지게 하기 위해 사용하고 싶었으나, 안드로이드30이상부터 deprecated 되었다. 30 이상은 setDecorFitsSystemWindows 를 제공한다고 한다. 이렇게 분기처리를 해주면 된다. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { binding.root.setOnApplyWindowInsetsListener { _, windowInsets -> val imeHeight = windowInsets.getInsets(WindowInsets.Type.ime()).bottom binding.root...
안드로이드 스튜디오 / Appsflyer onelink 적용방법 앱내 게시물 링크를 공유해서 링크를 클릭하면 해당 게시물로 들어오게 하기 위해서는 deeplink를 사용해야한다. Appsflyer onelink를 사용하여 구현하였다. 1. Appsflyer sdk 설치 1-1. 모듈단위 gradle dependencies { // Get the latest version from https://mvnrepository.com/artifact/com.appsflyer/af-android-sdk implementation 'com.appsflyer:af-android-sdk:6.9.0' } 1-2. manifest Appsflyer 에서 링크가 생성되면, 2. Manifest에서 intent-filter를 추가해준다. 이때, onelink intent-filter와 Ap..
안드로이드 스튜디오 / targetSdk33 알림 권한 요청 기존 안드로이드12 이하는 알림 권한 기본값이 활성화였는데, 안드로이드13부터는 기본값이 비활성화라고 한다. 따라서 Notification 권한을 요청하거나, 사용자가 직접 알림 설정에 들어가서 활성화를 해야 한다. Notification권한은 targetSdk33이상에서만 권한 추가 요청이 가능하다. targetSdk31로 되어 있던 프로젝트를 targetSdk33으로 올리기로 하였다. (진작했어야했는데...) 그리고, 알림 설정 팝업을 띄워주는 코드를 추가하였다. 1. build.gradle 에서 targettSdk33, compileSdk33으로 변경 2. manifest 에서 POST_NOTIFICATION 퍼미션 추가 다행히 크게 변경할 코드가 없어서 sync만 맞춰주었다. 3. 알림권한이 설정..
Hilt 오류? module을 나누고, Hilt로 DI 적용을 하다 생긴 소소한 오류의 원인들 1. app단에 domain과 data를 주입했나? 2. Manifest에 name 등록을 해주었나? 3. 적절한 Annotation을 붙여 주입을 해주었나? 4. module 클래스를 생성하여 Provide를 이용하여 의존성을 주입하였나>? 5. kotlin 1.7.10 -> hilt 2.42 https://stackoverflow.com/questions/67744002/hilt-unsupported-metadata-version-in-kotlin
github / 삭제한 브랜치 복구하기 브랜치를 로컬에서만 삭제했다면, 원격 브랜치에서 바로 가져오면 되는데 로컬, 원격에서 모두 삭제를 했을땐?! 어떻게 할까 1. 지워버린 브랜치에서 한 활동 로그들을 확인한다. git reflog | grep "to 브랜치명" 2. 위에서 확인한 가장 낮은 번호를 기준으로 체크아웃한다.. git checkout -b 브랜치명 HEAD@{번호} 위 방법으로 했는데, 커밋 기록이 맞지 않거나 원하는 위치가 아니라면 해당 브랜치를 지우고, 위 방법을 다시 해주면 된다. 저도 알고싶지 않았어요...
맥 zsh: command not found: adb 오류 안드로이드스튜디오에서 adb 명령어가 안먹는 경우 vi ~/.zshrc -> export ANDROID_HOME=/Users/$USER/Library/Android/sdk/ export PATH=$PATH:$ANDROID_HOME export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/platform-tools :wq 후 엔터 source ~/.zshrc -> 적용 adb -> 정상작동 확인

반응형