반응형
SMALL

Android 21

[Android] SearchView 초성 검색(feat. Java)

https://jhb.kr/122  [Android] 한글 초성 검색한글 초성 검색 기능이 필요하여 구현해 보았다. 기본 적인 원리는 가~깋 나~닣.......... 하~힣 을 사용 한것. http://www.androidpub.com/45681 를 참조하여 구현하였다. /** * 초성 검색 알고리즘을 위한 클jhb.kr참고 자료  요구 사항1. searchView 에서 초성 검색이 가능하게 한다. -> 한글자 입력할때마다 필터링2. 특수문자도 검색3. x버튼을 누르면 입력 값을 초기화하고 입력값이 없다면 초기화면으로 reset한다.4. searchIcon과 cursor 색상을 변경한다.  searchSoundUtils.java/** * 초성 검색 알고리즘 */public class SoundSearch..

Android 2024.10.29

[삽질] [Android] Permissions 권한 거절 (feat. Java)

오늘 주로 다룰 권한은 WRITE_EXTERNAL_STORAGE 아마 다른 권한도 마찬가지일 것이다.  내 앱이 모든 미디어 권한 허용이 필요하다묜  메니페스트에 이 코드를 추가하면 되지만 아마 구글 스토어에서 빠꾸 먹을 확률이 크다. 꼭 필요한게 아니라면 넣지 말자. 일부 허용은   데이터를 백업하려면 WRITE_EXTERNAL_STORAGE 가 필요한데 유저가 권한 거부를 한번 누르면 창이 다시 안떠서 애를 먹었었다.  requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE_PERMISSIONS);//REQUEST_CODE_PERMISSIONS = 100; 처음에 권한 요청을 하면 이 코드를 통해..

Android 2024.10.21

[Android Studio] DB 보기

작업을 하다보면 내가 의도한 것과 다르게 데이터가 저장될 때가 있다. 직접 DB를 까서 보면 어떤 값이 RETURN 되는지 명확하게 볼 수 있다. 1. 해당 프로그램을 다운 받는다. https://sqlitebrowser.org/ DB Browser for SQLiteDB Browser for SQLite DB Browser for SQLite (DB4S) is a high quality, visual, open source tool designed for people who want to create, search, and edit SQLite or SQLCipher database files. DB4S gives a familiar spreadsheet-like interface on the data..

Android 2024.10.18

[삽질][Android] 동적 Dialog Fragment 사용하기(feat. Java)

버튼을 누르면 화면이 커지고 또 버튼을 누르면 화면이 작아지는 동적 Dialog를 사용하게 되었다. 이 과정에서 분명 wrap_content로 layout을 감쌌는데 동적으로 화면이 변하지 않는 현상이 발생했다.그래서 minwidth, minheight도 사용해 보고 별 짓을 다해봤는데, 계속해서 gone 상태에서 visible로 변할 때, 화면이 커지지 않고 컨텐츠들이 잘려서 나왔다. dialog Fragment는 기존 Fragment와는 다르게 넓이와 높이를 지정하는데 주의를 기울여야한다. 젤 상단 부모 layout을 wrap_content, wrap_content 로 설정 했을 때 문제가 있었다.이 경우에 match_parent, match_parent 로 변경 한 뒤에 Fragment로 가서 아래..

Android 2024.10.14

[삽질][Android] 안드로이드 분할 화면 오류(feat. Kotlin)

kotlin.UninitializedPropertyAccessException: lateinit property binding has not been initializedjava.lang.NullPointerException.ui.main.MainFragment.getBinding$app_debug(MainFragment.kt:102) 평소에 잘되던 기능이 분할화면에서 갑자기 앱이 강제 종료 되는 경우가 있다.(위에 꺼 아니면 아래 오류가 뜸) https://developer.android.com/develop/ui/compose/layouts/adaptive/support-multi-window-mode?hl=ko#lifecycle 멀티 윈도우 모드 지원  |  Jetpack Compose  |  An..

Android 2024.10.07

Handler(feat. Message Queue)

핸들러(Handler)는 특정 이벤트나 상황이 발생했을 때, 그에 대한 특정 작업을 수행하도록 미리 작성된 코드이다.  이해하기 쉽게 설명하자면, 아침에 일어날 때 알람을 맞춰논다. 알람을 맞춘 시간이 되면 알람이 울리면서 일어나게 되는데, 이때 '알람 소리가 울리는 시간'이 이벤트고, 알람이 울리는 그 순간에 '알림음이 울림' 이 핸들러다. 즉, 어떤 일이 벌어질 때, 그에 맞는 행동을 하도록 미리 정해놓은 코드를 핸들러라고 할 수 있다.  메세지 큐(Message Queue): 비동기 통신을 위한 데이터 구조로, 프로세스 간 또는 앱 간에 메세지를 안전하게 전송하고 처리할 수 있도록 돕는 시스템이다. - 메세지 큐를 사용하면 작업을 비동기적으로 처리할 수 있어 UI 스레드의 차단을 방지할 수 있다.-..

Android 2024.09.30

Android Webview에서 Json가져오고 사용하기(feat.Gson)

웹뷰에서 데이터 던져주면 앱으로 받고 프린터를 출력하는 작업을 하고 있따.  일단 웹뷰를 xml에 넣고 웹뷰가 있는 화면에 binding.webView.addJavascriptInterface(WebHanto(), "android")) 를 써줘야 한다.. Android의 WebView에서 JavaScript와 Android 코드 간의 상호작용을 가능하게 하는 메서드이다.이 코드의 역할은 다음과 같다.JavaScript와의 연결: WebBridge()라는 객체를 JavaScript에서 사용할 수 있도록 WebView에 추가한다. 이 객체는 JavaScript에서 호출할 수 있는 메서드를 정의할 수 있다.이름 지정: "android"라는 이름을 통해 JavaScript에서 이 객체를 참조할 수 있게 된다. ..

Android 2024.09.03

Android Progressbar 사용하기

webView를 사용 중인데 앱이 시작되고 url을 로딩하는데까지 상당한 시간이 소요된다. 성질 급한 한국인은 이런거 절대 못참음..하지만 프로그래스바와 함께라면...?일단 화면에 뭐라도 돌아가니깐 기다리게 된다.. 바로 코드로 보자 activity_main.xml />여기서 중요한건 android:elevation="8dp" 이다. 분명 프로그래스 바를 설정했는데 자꾸 안보여서 보니깐 웹뷰 뒤에 프로그래스 바가 있었다.. ㅡ,.ㅡ;; elevation 값을 설정하니 웹뷰 위로 예쁘게 나오는 모습style 값은 안드로이드에서 지원해주는 것 같다. 저 스타일은 무난한 동글뱅이 스타일이다.  class MainActivity : AppCompatActivity() { private ..

Android 2024.08.26

[Android] AES-256로 개인정보 암호화 및 복호화 하기 feat.Kotlin

https://www.veritas.com/ko/kr/information-center/aes-encryption 고급 암호화 표준: AES 암호화에 대한 통합 가이드 www.veritas.comAES 암호화 관련 내용은 위 사이트를 참고하도록. 참고 자료 Enhancing Data Privacy: AES-256 Encryption and Decryption in Android with Kotlin ExampleAES (Advanced Encryption Standard) is a widely used symmetric encryption algorithm that ensures data confidentiality by encrypting and…medium.com 유저로 부터 받아온 전화번호를 복호화..

Android 2024.07.31

Android 권한 받고 유저 핸드폰 번호 가져오기(feat. Kotlin)

AndroidManifest.xml  안드로이드 앱에서 권한을 체크하고,필요한 경우 권한을 요청하는 기능을 제공하는 유틸리티 객체 생성. Permission.ktobject Permission { fun checkAndRequestPermissions(activity: Activity, permissions: Array, requestCode: Int): Boolean { val permissionNeeded = permissions.filter { ContextCompat.checkSelfPermission(activity, it) != PackageManager.PERMISSION_GRANTED } return if (..

Android 2024.07.29