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

앱이 시작하는 상태는 제목처럼 총 3가지로 나뉜다. 안드로이드 디벨로퍼에서 설명하는 각 단계별 설명은 아래와 같다. https://developer.android.com/topic/performance/vitals/launch-time#internals 앱 시작 시간 | Android 개발자 | Android Developers 앱 시작 시간 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 사용자는 앱이 응답하고 빠르게 로드되기를 기대합니다. 시작 시간이 느린 앱은 이 기대를 충 developer.android.com 앱은 콜드 / 웜 / 핫 스타트라는 3개 상태 중 하나에서 시작하며 각 상태는 앱이 사용자에게 표시되는 데 걸리는 시간에 영향을 준다. 콜드 스타트에선 앱이 ..

안드로이드에서 화면을 그리는 것은 XML에 그리는 것이 일반적이었고, 필요하다면 소스코드 상에서 동적으로 만들어 사용하는 방식을 사용했다. 그러나 이것이 상당히 귀찮고 번거롭기 때문인지 XML 대신 사용할 수 있는 안드로이드 화면 그리기 도구가 2018년 구글 I/O에서 공개됐다. 이것이 Compose다. Compose의 사전적 정의는 아래와 같다. 구성하다(몇 가지 부분이나 요소들을 모아서 일정한 전체를 짜 이루다) 프라모델 조립이나 퍼즐이 생각나는 단어다. 어떤 것들을 합쳐서 큰 하나를 만드는 뉘앙스라 Compose가 어떤 식으로 작동할지 조금 상상이 간다. 아래는 안드로이드 디벨로퍼에서 설명하는 Compose다. https://developer.android.com/jetpack/compose Je..
이제 마지막으로 아이템 수정, 삭제 기능을 구현하고 마무리한다. 이전 포스팅들은 아래와 같다. https://onlyfor-me-blog.tistory.com/556 [Android] Jetpack Navigation, Room DB, Flow 같이 사용하기 - 1 - 예전에 자바로 같은 내용의 포스팅을 쓴 적이 있다. https://onlyfor-me-blog.tistory.com/290 [Android] Room DB 사용법 21.04.13 - 코드 테스트 후 정상 작동 확인, xml 코드 별 어떤 xml의 코드인지 기재 이번 포스팅 onlyfor-me-blog.tistory.com https://onlyfor-me-blog.tistory.com/558 [Android] Jetpack Navigati..
지금까지 Room DB 기본 설정을 끝내고 데이터를 추가하는 로직까지 추가했다. 이제 전체 아이템 조회 함수를 통해 DB에 저장된 모든 데이터를 리사이클러뷰에 붙이는 처리를 구현한다. 데이터가 변경되면 바로 알 수 있도록 ListAdapter와 diffcallback을 사용한다. 이전 글들의 링크는 아래에 있다. https://onlyfor-me-blog.tistory.com/556 [Android] Jetpack Navigation, Room DB, Flow 같이 사용하기 - 1 - 예전에 자바로 같은 내용의 포스팅을 쓴 적이 있다. https://onlyfor-me-blog.tistory.com/290 [Android] Room DB 사용법 21.04.13 - 코드 테스트 후 정상 작동 확인, xml..
이전 글에서 Room을 사용하기 위한 기본 준비들을 모두 끝냈으니 이제 Room을 사용하기 위한 뷰모델을 만들고 프래그먼트에 실제로 사용한다. 이전 글은 아래 링크를 타고 이동하면 볼 수 있다. https://onlyfor-me-blog.tistory.com/556 [Android] Jetpack Navigation, Room DB, Flow 같이 사용하기 - 1 - 예전에 자바로 같은 내용의 포스팅을 쓴 적이 있다. https://onlyfor-me-blog.tistory.com/290 [Android] Room DB 사용법 21.04.13 - 코드 테스트 후 정상 작동 확인, xml 코드 별 어떤 xml의 코드인지 기재 이번 포스팅 onlyfor-me-blog.tistory.com data 패키지 바..

Flow와 LiveData는 API를 통해 데이터를 받아올 때 자주 사용되는 요소들이다. MVVM 패턴으로 앱을 설계한 경우 뷰모델에서 데이터 바인딩을 통해 UI에 변경된 데이터를 표시할 수 있도록 뷰모델 안에 프로퍼티를 설정하는데 MutableStateFlow 또는 MutableLiveData로 타입을 설정한다. 그러나 개발하다 보면 결국 LiveData를 쓰는 게 더 낫지 않나 생각될 때도 있고, Flow를 쓸 경우 asLiveData()를 써서 Flow를 LiveData로 전환해 사용하는 예시도 가끔 있어서 뭘 어떻게 써야 할지 혼동이 올 수 있다. 그래서 두 개를 간단하게 정리하고 둘의 차이를 확인하는 포스팅을 쓰게 됐다. Flow와 LiveData는 예전에 각각 포스팅한 적이 있지만 각각의 정의..
예전에 자바로 같은 내용의 포스팅을 쓴 적이 있다. https://onlyfor-me-blog.tistory.com/290 [Android] Room DB 사용법 21.04.13 - 코드 테스트 후 정상 작동 확인, xml 코드 별 어떤 xml의 코드인지 기재 이번 포스팅에선 제트팩 라이브러리에 속하는 룸 DB를 사용한 간단한 CRUD 예제 코드를 기록할 것이다. 먼저 앱 수준 onlyfor-me-blog.tistory.com 그러나 1년 전 글이라서 최신화가 필요하다고 생각했다. 그리고 이제 코틀린을 위주로 안드로이드 앱을 만들고 코드랩을 보던 중 Room DB와 Flow를 같이 사용하는 것을 공부해서 기록하려고 포스팅하게 됐다. 참고한 코드랩은 아래 2개다. https://developer.andro..
제트팩 네비게이션을 쓰려고 프래그먼트들과 nav_graph.xml 등 이것저것 다 준비하고 프래그먼트에서 Directions를 사용하려는데 Directions 밑에 빨간 줄이 생기고 갖다대면 Unresolved reference 에러가 발생하는 경우가 있다. 해결법은 앱, 프로젝트 gradle 파일을 각각 확인해서 없는 부분만 채우면 된다. 안드로이드 스튜디오 Chipmunk 기준으로 프로젝트 gradle은 아래와 비슷한 형태일 것이다. // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext { navigation_version = '2.4.2' hi..

안드로이드에서 MVC 패턴을 사용하는 방법은 생략한다. 어차피 MVC 형태로 만들다 보면 그 결과로 발생하는 스파게티 코드와 뚱뚱한 액티비티, 프래그먼트를 보는 게 역겨워져서 MVP든 MVVM이든 찾게 될 것이다. 먼저 MVP 패턴이다. MVP 패턴은 Model, View, Presenter 3개 단어의 앞글자를 따서 만든 것으로 사용자가 View를 통해 어떤 이벤트를 일으키면 Presenter가 Model에 접근해서 View 대신 데이터를 갖다 준다. 즉 Presenter는 View, Model 사이에 위치해서 View가 원하는 데이터를 갖다 주는 역할을 한다. View는 이 데이터를 통해 UI를 업데이트하게 된다. 긴 말 필요없고 코드를 보자. 레트로핏을 통한 서버 통신 로직과 DI 처리, Model..

EventBus는 그린로봇(greenrobot)이라는 곳에서 만든 오픈소스 라이브러리로, 아파치 2.0 라이선스를 적용하고 있으며 만들어진 지는 10년 정도 됐다.깃허브는 아래 링크를 타고 들어가서 확인할 수 있다. https://github.com/greenrobot/EventBus GitHub - greenrobot/EventBus: Event bus for Android and Java that simplifies communication between Activities, Fragments, ThreadEvent bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services,..