일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 자바 다형성
- 스택 큐 차이
- 안드로이드 레트로핏 crud
- 안드로이드 레트로핏 사용법
- 안드로이드 유닛 테스트 예시
- rxjava disposable
- 안드로이드 os 구조
- 서비스 vs 쓰레드
- 안드로이드 라이선스
- 2022 플러터 설치
- ANR이란
- 스택 자바 코드
- ar vr 차이
- 안드로이드 라이선스 종류
- Rxjava Observable
- jvm이란
- 서비스 쓰레드 차이
- 플러터 설치 2022
- 안드로이드 유닛테스트란
- android ar 개발
- 멤버변수
- rxjava hot observable
- 객체
- 큐 자바 코드
- 클래스
- 안드로이드 유닛 테스트
- rxjava cold observable
- jvm 작동 원리
- android retrofit login
- 2022 플러터 안드로이드 스튜디오
- Today
- Total
목록Android (402)
나만을 위한 블로그

3년 전에 달력 커스텀하는 글을 쓴 적이 있다. 그러나 현재 이 글에서 사용하는 라이브러리는 최신 안드로이드 프로젝트에선 사용할 수 없다. https://onlyfor-me-blog.tistory.com/437 [Android] Material CalendarView 커스텀 사용법 정리앱에서 달력을 보여주는 방법으로는 안드로이드에서 기본제공하는 캘린더뷰를 쓰는 방법이 있다. 그러나 이 캘린더뷰는 단일 날짜를 지정하는 건 가능하지만 예를 들어 11일~24일까지의 연속된onlyfor-me-blog.tistory.com 그래서 다른 라이브러리를 찾아보고 사용해 보니 나쁘지 않아서 간단한 커스텀을 거친 후에 어떻게 사용하는지를 정리한다.XML, 컴포즈 둘 다 지원하는 라이브러리라 XML 먼저 다룬 후에 컴포즈에..

안드로이드에서 네트워크 통신을 구현할 때 흔히 쓰이는 라이브러리인 레트로핏의 3.0.0이 3주 전 등장했다.깃허브 리드미에도 3.0.0에 대한 언급이 존재한다. https://github.com/square/retrofit GitHub - square/retrofit: A type-safe HTTP client for Android and the JVMA type-safe HTTP client for Android and the JVM. Contribute to square/retrofit development by creating an account on GitHub.github.com 3.0.0으로 버전 업그레이드되면서 바뀐 것은 아래의 미디엄에 정리돼 있다.이 포스팅은 해당 미디엄의 내용을 번역한 ..

FlowLayout은 아래와 같은 화면을 말한다. 컴포즈를 쓴다면 FlowRow, FlowColumn을 써서 이런 UI를 구현할 수 있다.XML에선 ChipGroup과 Chip을 쓰거나 라이브러리를 쓰면 구현할 수 있지만 다른 방법으로도 구현할 수 있다.아래는 예시 코드를 완성한 후 폴드 에뮬레이터를 펼쳐서 확인한 UI다. 아래는 접힌 폴드 에뮬레이터에서 확인한 화면이다. UI를 보면 알겠지만 리사이클러뷰를 사용했다. 리사이클러뷰에 사용한 data class부터 확인한다. data class UserReview( val id: Int, val title: String, val content: String, val date: String, val positiveFeedbac..

액티비티, 프래그먼트가 생명주기를 갖고 있듯이 뷰도 생명주기를 갖고 있다.이게 중요할까? 당연히 중요하다. 하나의 UI를 만들기 위해 여러 커스텀 뷰를 추가하거나 리사이클러뷰 어댑터로 뷰를 인플레이트할 때 특정 경우엔 뷰를 동적으로 수정해서 고쳐 그려야 하는 경우가 생길 수 있다. 이 때 뷰의 생명주기를 활용해서 로직을 짜야 하는 경우가 생길 수 있다.뷰의 생명주기는 크게 아래와 같다. 오른쪽이 뷰의 생명주기고 왼쪽의 액티비티 생명주기에 따른 호출 단계가 포함된 그림이다. 혹시 몰라 말해두지만 onPause 이전에 onMeasure, measure()가 있다고 해서 두 함수가 onPause 전에 호출된다는 뜻은 아니다. 뷰의 생명주기는 유저에게 보여지는 Visible to User를 제외하면 크게 10..

이 포스팅에선 안드로이드에서 간단한 브릿지 통신으로 웹뷰와 통신하는 방법을 확인한다.시작 전에 난 프론트엔드 분야는 몰라서 html 파일은 안드로이드 프로젝트의 assets 폴더에 inner html 파일을 만들어 사용했고 html 내용은 클로드를 참고해서 작성했음을 미리 써 둔다.먼저 매니페스트에 인터넷 권한을 추가한다. 이건 필수다. index.html은 아래처럼 구성한다. 안드로이드 웹뷰 브릿지 테스트안드로이드 함수 호출JSON 데이터 전송결과가 여기에 표시됩니다 이 파일을 작성하면 에디터 화면 오른쪽 위에 아래와 같은 아이콘들이 보일 것이다. 안 보인다면 에디터 화면을 클릭하거나 마우스를 움직이면 나올 것이다. 브라우저를 선택하면 이런 화면이 나온다. 이제 액티비티의 기본 틀을 구성한다. 웹..
코루틴을 구현할 때 launch, async, withContext를 사용할 수 있다. 이 때 코루틴 디스패처(이하 디스패처)를 써서 코루틴이 어떤 쓰레드 풀에서 작동하게 할 지를 정할 수 있다.아래는 코틀린 공식문서 중 디스패처를 설명하는 문서다. https://kotlinlang.org/docs/coroutine-context-and-dispatchers.html Coroutine context and dispatchers | Kotlin kotlinlang.org코루틴은 항상 코틀린 표준 라이브러리에 정의된 코루틴 컨텍스트 타입의 값으로 표시되는 컨텍스트에서 실행된다코루틴 컨텍스트는 여러 요소의 집합이다. 주요 요소는 코루틴의 Job, 디스패처다코루틴 컨텍스트에는 해당 코루틴이 실행에 사용하는 쓰레..
https://onlyfor-me-blog.tistory.com/1145 [Android] SQLite vs Room DB 비교 및 구현 - 1 -간단한 데이터 저장은 쉐어드 프리퍼런스, dataStore로 할 수 있지만 좀 복잡한 데이터면 다른 방법을 쓰는 게 낫다.그 방법으로 떠오르는 게 SQLite, Room인데 안드로이드 디벨로퍼에선 Room DB 사용을onlyfor-me-blog.tistory.com 1편에서 SQLite 예시를 확인했으니 같은 기능을 Room DB로도 구현해 본다. Room DB는 뷰모델을 써서 구현한다.data class는 이전과 같은 Person을 사용한다. data class Person( var id: Long = 0, var name: String, v..

간단한 데이터 저장은 쉐어드 프리퍼런스, dataStore로 할 수 있지만 좀 복잡한 데이터면 다른 방법을 쓰는 게 낫다.그 방법으로 떠오르는 게 SQLite, Room인데 안드로이드 디벨로퍼에선 Room DB 사용을 더 권장하고 있다. 사실 대놓고 Room 쓰라고 광고하고 있다. 하단의 하이퍼링크를 클릭하면 SQLite 문서로 이동하긴 하지만 도입부에 주의 문구를 표시하고 있다. 어떤 단점이 있어서 SQLite 대신 Room을 쓰라고 하는데, 디벨로퍼가 말하는 단점은 딱 와닿지 않는다. 써보지 않았다면 더 모를 수 있다.이 포스팅에선 SQLite부터 시작해서 두 요소가 뭔지 간단하게 확인하고 어떻게 사용하는지 간단한 예시를 보면서 각각 어떤 특징을 갖는지 확인한다. 먼저 SQLite부터 확인한다. ..
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가지 일을 잘해야 한다는 ..