일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 2022 플러터 안드로이드 스튜디오
- 서비스 쓰레드 차이
- ar vr 차이
- 클래스
- Rxjava Observable
- 객체
- 안드로이드 라이선스
- rxjava disposable
- 2022 플러터 설치
- rxjava hot observable
- 안드로이드 레트로핏 crud
- 안드로이드 유닛테스트란
- ANR이란
- android retrofit login
- 자바 다형성
- 안드로이드 유닛 테스트 예시
- 안드로이드 라이선스 종류
- rxjava cold observable
- 멤버변수
- 스택 큐 차이
- 안드로이드 레트로핏 사용법
- 안드로이드 os 구조
- jvm이란
- 스택 자바 코드
- jvm 작동 원리
- 서비스 vs 쓰레드
- 큐 자바 코드
- android ar 개발
- 안드로이드 유닛 테스트
- 플러터 설치 2022
- Today
- Total
목록Android (385)
나만을 위한 블로그
UI는 언제든 예기치 못한 에러나 유저의 기똥찬 행동 앞에 크래시를 일으킬 수 있다. 이걸 원천적으로 봉쇄하는 것은 불가능하지만 개발 단계에서 데이터를 저장하고 이를 복원하는 처리를 구현함으로써 최대한 사용자 경험을 보완해줘야 한다.이와 관련된 안드로이드 문서를 확인한다. https://developer.android.com/topic/libraries/architecture/saving-states?hl=ko UI 상태 저장 | Android Developers구성 변경 시 UI 상태를 유지하는 방법을 알아봅니다.developer.android.com시스템에서 액티비티가 폐기되거나 앱 소멸 후에 신속하게 액티비티의 UI 상태를 저장, 복원하는 건 우수한 사용자 환경에 필수다. 유저는 UI 상태가 동..

https://proandroiddev.com/common-android-usecase-pattern-mistakes-382b6d0e7c03 Common Android UseCase Pattern MistakesThey should be used when there’s complex business logic that needs to be encapsulated, not as a mandatory layer.proandroiddev.com 이 포스팅은 위 링크를 번역한 것이다. 유스케이스는 복잡한 앱 로직을 간단하고 재사용 가능한 부분으로 구성하는 데 도움이 되는 도구다.앱에서 수행해야 하는 특정 task나 operation을 담는 컨테이너라고 생각하면 된다. 각 유스케이스는 1가지 일을 잘해야 한다는 ..
API 통신을 하다 보면 응답을 Result로 받을 수 있다. Result가 뭔지 모른다면 아래를 참고한다. https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-result/ ResultResult MembersMembers & Extensions Types Properties Functions Returns the encapsulated result of the given transform function applied to the encapsulated value if this instance represents success or the original encapsulated Throwable exception if it is fakotlinlang.or..

https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.jvm/-jvm-overloads/ JvmOverloadsInstructs the Kotlin compiler to generate overloads for this function that substitute default parameter values. If a method has N parameters and M of which have default values, M overloads are generated: the first one takes N-1 parameters (all but the lastkotlinlang.org이 함수에 대해 기본 매개변수 값을 대체하는 오버로드를 생성하도록 코틀린 컴파..

이 포스팅에선 리사이클러뷰와 같이 사용하는 ListAdapter에 대해 정리하고 간단한 예제를 확인한다. 리사이클러뷰를 만들려면 어댑터는 반드시 필요하다. 그런데 그냥 리사이클러뷰에 데이터를 표시할 뿐 아니라 아이템 위치를 바꾸거나 낱개를 또는 여러 개를 추가, 삭제하는 경우도 많이 있다.이 때마다 notify가 붙은 메서드를 호출해서 데이터 변경 처리를 구현하지만 과연 이 방법이 모든 경우에 권장되는 방법인가? 극단적인 예로 데이터 수 만개가 표시되는 리사이클러뷰가 있는데 데이터 변경사항이 생겨서 notifyDataSetChanged()로 모든 아이템을 업데이트해 강제로 다시 그린다고 가정한다. 이게 맞는 방법일까? noitfyItemInserted() 또는 notifyItemRemoved()를 사용하..

클린 빌드하던 중 갑자기 발생한 에러인데 이 에러의 원래 이름은 대충 아래와 같을 것이다. Unable to delete directory: C:\Users\myProject\app\build\intermediates\build 경로명은 다를 수 있지만 현재 안드로이드 스튜디오가 바라보고 있는 폴더 안의 build 폴더에 문제가 생긴 것이다.해당 프로젝트의 app 폴더로 들어가면 아래와 비슷한 형태일 것이다. 안드로이드 스튜디오를 포함한 해당 폴더를 열고 있는 에디터가 있다면 모두 종료한 다음 build 폴더를 완전히 제거한다.이후 안드로이드 스튜디오를 다시 실행한 다음 클린 빌드나 앱을 빌드하면 정상적으로 실행될 것이다. 참고한 사이트) https://stackoverflow.com/a/3650409..

프로젝트에 저장된 문자열에 밑줄을 추가해서 표시하는 거라면 아래처럼 할 수 있다. 여긴 밑줄 안 됨 <u>여기만 밑줄됨</u> 여긴 밑줄 안 됨 그리고 액티비티, 프래그먼트에서 아래처럼 사용한다. binding.tv1.text = Html.fromHtml(getString(R.string.string), Html.FROM_HTML_MODE_LEGACY) 또는 아래처럼 써도 상관없다. binding.tv1.text = Html.fromHtml(getString(R.string.string), HtmlCompat.FROM_HTML_MODE_LEGACY)binding.tv1.text = HtmlCompat.fromHtml(getString(R.string.string), HtmlCompa..

이 포스팅에선 LazyVerticalGrid에 여러 사진들이 표시될 때 드래그로 여러 사진들을 선택하는 법을 확인한다.코드는 아래와 같다. import androidx.compose.animation.core.animateDpimport androidx.compose.animation.core.updateTransitionimport androidx.compose.foundation.Imageimport androidx.compose.foundation.backgroundimport androidx.compose.foundation.borderimport androidx.compose.foundation.layout.Boximport androidx.compose.foundation.layout.aspe..

※ 모든 코드는 예시 코드기 때문에 실제로 사용하려면 반드시 리팩토링한다 이전 포스팅에서 이어진다. https://onlyfor-me-blog.tistory.com/1129 [Android Compose] Supabase를 활용한 CRUD 구현 - 1 -이 포스팅에선 Supabase를 활용한 CRUD를 간단하게 구현한 예시를 확인한다.이름, 가격 TextField의 값과 카메라로 촬영하거나 갤러리에서 photo picker로 가져온 사진을 같이 supabase에 업로드하고 리스트onlyfor-me-blog.tistory.com 코드는 supabase의 안드로이드 예시 문서를 바탕으로 작성했다.그러나 SQL부터 막히고 문서의 코드들이 하나의 프로젝트로 완벽하게 작동하지 않아서 좀 수정했다. https://..

이 포스팅에선 Supabase를 활용한 CRUD를 간단하게 구현한 예시를 확인한다.이름, 가격 TextField의 값과 카메라로 촬영하거나 갤러리에서 photo picker로 가져온 사진을 같이 supabase에 업로드하고 리스트 형태로 표시하는 예제를 구현할 것이다. supabase를 안드로이드에 연동하려면 크게 아래와 같은 작업들을 해야 한다. supabase 프로젝트 생성, 테이블 정의supabase, ktor, hilt 라이브러리 추가CRUD 기능 구현 + UI 구현 supabase에 새 프로젝트를 만드는 것부터 시작한다. 이 포스팅에선 구글 클라우드 콘솔 설정까지 한 후 다음 포스팅에서 코드들을 확인한다. https://supabase.com/dashboard/projects Dashboard ..