본문 바로가기

IT/Android

(49)
안드로이드 스튜디오 / 버튼 중복 클릭 방지하기 - api 중복 요청 없애자 모든 사용자가 버튼을 의도한대로 한번만 누르면 참 좋겠지만.. 사용자를 다 통제할 수는 없었다. 버튼을 눌러 api를 요청하고, 응답을 기다리는 그 사이에 버튼을 한 번 더 클릭하여 api가 중복으로 호출되는 일이 발생했다. 해결방법은 다양하게 있을텐데 (interval 시간을 주는 등) 중복클릭 방지처리를 해야하는 버튼이 많아서 간단하게 enabled 설정값만 주었다. fun btnClick(view: View){ if(view.isEnabled){ api 호출 } view.isEnabled = false } dataBinding을 사용해서, viewModel에서 버튼 클릭 함수를 다뤄줬다. 버튼이 isEnabled이 true인 경우에만 호출을 해주었고, 클릭 이벤트가 생기면 isEnabled를 fal..
안드로이드 스튜디오 / 안드로이드 스튜디오에서 하드코딩 string 찾기 다국어 지원을 위해 string값들을 정리하고 있었는데, 숨어있는 하드코딩된 string이 자꾸 나왔다 과거의 나를 탓하며... 한 번에 찾는 방법 없을까 구글링을 해보니 역시 방법이 존재했다. 1. ctrl+shit+alt+i -> Hardcoded strings 2. 맨 마지막줄 Ignore lines whole content matches this regular expression 이 조건 잘 활용해야된다 그대로 냅두면 모든 문자열이 검색 안되는 상황 발생한다. 3. 짠 조건에 맞는 모든 스트링 파일들이 다 나온다 https://youngest-programming.tistory.com/225
안드로이드 스튜디오 / 다국어 지원 string.xml 파일 생성하기 + chatGPT로 string파일 번역하기 핸드폰 언어 설정을 영어로 하면 앱의 글씨가 영어로 번역되는 방법을 소개하겠읍니다 다국어 지원을 위해서는 string.xml 파일을 각 언어에 맞게 생성을 해주어야 한다. 1. values - string.xml - Open editor 2. 플러스 버튼을 누르고 -> 추가할 언어 선택 3. 언어 적용 앱 이름이나, key 같은 언어에 따라 안바뀌는 string 값들은 Untranslatable을 체크해주면 된다. +) 여러분은 ChatGPT 쓰세요...
Geocoder - getFromLocation() deprecated 해결 getFromLocation(double latitude, double longitude, int maxResults) 메소드가 API33에서 Deprecated되었다. getFromLocation(double latitude, double longitude, int maxResults, android.location.Geocoder.GeocodeListener) 를 대신 사용하면 된다. //Fetch address from location geocoder.getFromLocation(latitude,longitude,maxResult,object : Geocoder.GeocodeListener{ override fun onGeocode(addresses: MutableList) { // code } o..
안드로이드 / 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..

반응형