Android Studio
-
안드로이드 앱 테마에 따른 색상 변경하기Android Studio 2024. 7. 16. 21:36
처음으로는 기존에 있는 색상을 바꾸지 않은 상태에서 AppCompatDelegate 을 이용하여 일반모드와 다크모드를 변경하는 코드를 작성해 보겠습니다. AppCompatDelegate는 Android의 AppCompat 라이브러리에서 제공하는 클래스 중 하나이며, 주로 app의 테마와 UI 모드를 동적으로 변경하는 데 사용합니다. 사용 예제로는 다름와 같습니다.// 다크 테마 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) // 일반 테마 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) // 시스템 설정에 따른 테마 AppCompatDelegat..
-
RecyclerView를 AsyncListDiffer 을 이용하여 효율 높이기Android Studio 2024. 6. 26. 21:17
레이아웃 구성 compose X , xml 파일 O RecyclerView 에 적용된 아이템에 대해서 상태 혹은 갯수가 변경되었을 때 마다 notifyDataSetChanged() 을 호출하여 갱신을 하였었는데, 여러 아이템 중 1개만 상태가 변하거나, 증감이 될 때마다 전체 아이템을 갱신한다는 점에서 비효율적 이라는 생각을 가지게 되었습니다. 이런 비효율적인 방법을 개선을 하고 싶었고, 이미 많은 개발자분들이 느끼셨는지 해당 비효율적인 방법을 효율적으로 사용할 수 있도록 만들어 두셨고, 해당 글들도 매우 많이 작성되어 있었습니다. 덕분에 저도 해당 글들을 보면서 현재 진행하고 있는 프로젝트 내 RecyclerView 내 아이템을 효율적으로 표시할 수 있게 되었습니다. 왜 효율적이죠? notifyData..
-
AVD Error while waiting for device 해결법Android Studio 2023. 12. 18. 15:11
안드로이드 스튜디오에서 작업을 하다가 avd 가 하기와 같은 오류가 발생하며 실행이 안될 경우 해결 방법입니다. 해당 사진과 ERROR을 보았을 경우 해결법은 매우 간단합니다. 1. android\avd\Pixel_2_API_33.avd(실행이 안되는 avd 명) 경로로 이동합니다. 2. 해당 경로에서 .lock로 끝나는 모든 파일을 삭제합니다. 3. 안드로이드 스튜디오에서 실행이 안되던 avd를 실행시킵니다.
-
안드로이드 스튜디오 RetrofitAndroid Studio 2023. 8. 10. 21:17
Retrofit 이란? 통신 라이브러리 중 가장 많이 사용되는 대표적인 라이브러이 입니다. REST API 통신을 위해 구현되었으며, Squareup사의 OkHttp 라이브러리의 상위 구현체 입니다. Retrofit은 OkHttp를 네트워크 계층으로 활용하고 그 위에 구축되어 있습니다. AsyncTask 없이 Background Thread 실행 -> Callback을 통해 Main Thread에서 UI 업데이트 Retrofit 장점 1. 빠른 성능 : Asynctask를 사용하지 않고 자체적인 비동기 실행과 스레드 관리를 통해 속도가 많이 개선 2. 간단한 구현 : Retrofit에서는 Request, Response 설정 등 반복적인 작업을 라이브러리에서 넘겨서 처리하므로 작업량이 줄어들고 사용하기 ..
-
FireBase RealTime Database셋팅 및 기초 사용법Android Studio 2023. 8. 3. 20:15
파이어 베이스 중 RealTimeBase에 대한 기초 사용법을 설명하고자 합니다. RealTimeBase를 사용하기 위한 셋팅 구글로그인을 한 후 파이어 베이스 접속했다는 가정하에 설명 할 수 있도록 하겠습니다. https://console.firebase.google.com/?hl=ko 접속하여 프로젝트 추가 계정을 따로 하시겠다면 생성 다른 계정을 선택하시면 됩니다. 저의 경우 default 계정을 사용하였습니다. 프로젝트 만들기를 누른 후 잠시 기다리면 하기와 같은 화면에서 계속을 누릅니다. 이후 만드려는 앱의 속성에 따라 해당 버튼을 눌러 선택합니다. 저의 경우 안드로이드앱 이기에 안드로이드 모양의 버튼을 눌러줍니다. 패키지의 이름은 현재 작성하고 계시는 안드로이드 스튜디오 내 액티비티나 프래그먼..
-
안드로이드 스튜디오 WorkManagerAndroid Studio 2023. 7. 26. 01:30
공식문서 : https://developer.android.com/topic/libraries/architecture/workmanager?hl=ko 앱 아키텍처: 데이터 영역 - WorkManager로 작업 예약 - Android 개발자 | Android Developers 데이터 영역 라이브러리에 관한 이 앱 아키텍처 가이드를 통해 지속적인 작업 유형과 기능 등을 알아보세요. developer.android.com WorkManager는 지속적인 작업에 권장되는 솔루션입니다. 앱이 다시 시작되거나 시스템이 재부팅될 때 작업이 예약된 채로 남아 있다면 그 작업은 유지됩니다. 대부분의 백그라운드 처리는 지속적인 작업을 통해 가장 잘 처리되므로 WorkManager는 백그라운드 처리에 권장하는 기본 API..
-
안드로이드 스튜디오 JSON 사용하기Android Studio 2023. 7. 20. 19:32
JSON 이란?JavaScript Object Notation (JSON)은 Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷 배열은 [] (대괄호) 로 표기내부에는 Key : Value 값들로 각 속성값을 정의Key 와 Value 는 : (콜론) 에 의해 구분되각각의 속성은 , (쉼표)로 구분 예를 들어 http://api.nbp.pl/api/cenyzlota/last/30/?format=json 해당 사이트를 확인해보면 [{"data": "2023-06-09","cena": 264.81},{"data": "2023-06-12","cena": 261.86},........]이런 식으로 저장된 것을 볼 수 있습니다.[] 이 뜻하는 것은 배열이며, {} 은 객체라고 ..
-
back 버튼 두 번 클릭하여 프래그먼트에서 액티비티 종료시키기Android Studio 2023. 7. 10. 22:56
자료출처 : https://developer.android.com/guide/navigation/navigation-custom-back?hl=ko 상황 전제 1. 안드로이드 버전 12 이상 (onBackPressed -> 사용할 수는 있으나, deprecation 된 상태) 2. 액티비티2가 실행되고나서 Back 버튼을 눌러도 액티비티1로 돌아가지 않게 하고 싶을 때 액티비티1이 관리하는 프래그먼트에서 액티비티2 호출하며, 액티비티1 Intent.flag를 사용하여 액티비티 새로운 테스크 를 사용 혹은 현재 액티비티 백스택을 클리어 (공부중이라 정확한 의미가 아닐수도..?) 찝찝하다면 or 대신 and를 작성하여 새로 생성한 다음 혹시 모를게 남아 있을 수 있으니 클리어까지... fragmentLogi..