post-thumbnail

안드로이드 아키텍처를 공부해보자!

우선 아키텍처가 왜 중요한지 생각해보자.Android 앱에는 Activity, Fragment, Content Provider, Broadcast Receiver 등 다양한 앱 컴포넌트가 있다. 이 컴포넌트들을 활용해서 사용자 경험을 앱에 녹이게 되는데 핸드폰은 리소스

2022년 9월 28일
·
0개의 댓글
·

TIL) 0919

기존 SearchViewEditTextViewRecyclerView EditText SearchLayout백그라운드stylethemefragmentfragment.xmlfragment.kt

2022년 9월 20일
·
0개의 댓글
·
post-thumbnail

TIL) 0915

다음과 같이 회원가입 시 약관을 출력하는 화면을 만들어보자!fragment_sign_up.xmllayout_sign_up_terms_list.xml → 바깥의 RecyclerView바깥 Adapterlayout_sign_up_inner_terms_list.xml → 안

2022년 9월 15일
·
0개의 댓글
·

TIL) 0914

화면이 시작했을 때 Focus를 줄 EditTextView의 xml에 다음과 같이 설정.출발할 Fragment에서 키보드 올리기도착한 Framgment에서 KeyListener를 활용해 키보드 내릴 때 코드 → Listener 처리 주의FragmentLayout XML

2022년 9월 14일
·
0개의 댓글
·
post-thumbnail

Paging library를 알아보자!

사용자에게 정보를 표시하는 일반적인 방법 중 하나는 list다. 하지만 list는 전체 콘텐츠를 보기 위한 일부의 작은 창과 같다. 사용자는 list에서 제공되는 정보를 스크롤할 때 더 많은 데이터가 있을 거라고 확신한다. 이게 무슨 말인지는 다음 이미지를 보면 이해가

2022년 9월 12일
·
0개의 댓글
·

TIL) 0911

layout xml에서 if문을 사용하려면 LiveData와 람다식을 알고 있어야 한다.우선은 livedata를 준비하자.ImageView를 클릭하면 viewmodel 안 데이터의 상태에 따라 호출하는 함수를 다르게 하고 싶을 때 다음과 같이 활용한다.viewmodel

2022년 9월 11일
·
0개의 댓글
·

TIL) 0908

onCreateView에서 다음과 같이 실행한다. 그러나 이 방법은 메모리 누수를 일으킬 수 있다.How to set title in app bar with Navigation Architecture ComponentInterfaceFragmentActivity블로그

2022년 9월 8일
·
0개의 댓글
·

TIL) 0907

앱 데이터를 자동백업하는 요소로 기본값은 true다. 앱의 자동 백업을 막으려면 다음과 같이 하자.

2022년 9월 7일
·
0개의 댓글
·
post-thumbnail

TIL) 0906

비동기 프로그래밍에 권장되는 코루틴은 멀티태스킹을 지원하고 단순히 스레드로 작업하는 것보다 레벨이 다른 추상화를 제공한다. 상태를 저장해 중단했다가 재개할 수 있다는 주요 기능이 핵심이다. 따라서 코루틴을 실행되거나 실행되지 않을 수 있다.Job → 생명 주기가 있는

2022년 9월 6일
·
0개의 댓글
·
post-thumbnail

TIL) 0905

날짜 형식을 지정(날짜 → 텍스트)하고 파싱(텍스트 → 날짜)하는 클래스다.“E MMM d”와 같은 패턴 문자열은 날짜 및 시간 형식의 표현이다. 2018년 1월 4일이면 “Wed, Jul 4”와 같이 된다.E → 요일d → 일M → 월y → 연도Locale 객체는 특

2022년 9월 5일
·
0개의 댓글
·
post-thumbnail

TIL) 0902

ViewModel을 안전하게 사용하자!사용자에게 결정하거나 추가 정보를 입력하라는 메시지를 표시하는 작은 화면. 전체 화면을 채우지 않고 사용자가 액션을 해야 계속 진행할 수 있다. 일반적으로 다음과 같이 생겼다.Alert DialogTitle (optional)Mes

2022년 9월 2일
·
0개의 댓글
·
post-thumbnail

ViewModel을 안전하게 사용하자!

ViewModel을 구현하는 법은 많은 포스팅에서 봤으니까... 안전하게 사용하는 법을 알아보자!ViewModel은 UI에 필요한 모든 데이터를 보유하고 처리한다. 그래서 뷰 계층 구조에 액세스하거나 Activity나 Fragment의 참조를 보유해서는 안 된다.var

2022년 9월 2일
·
0개의 댓글
·
post-thumbnail

TIL) 0901

값을 전달 받을 곳에 %s.tools 속성으로 텍스트를 세팅하는 것이 포인트다.아래 코드에서 위 오류가 나는 부분은 어디일까?바로 cost 값을 받는 부분이다. 문자열을 입력 받는데 값이 비어있거나, 유효하지 않은 자료형일 경우 제목과 같은 오류가 난다. 그렇다면 해결

2022년 9월 1일
·
0개의 댓글
·
post-thumbnail

계측 테스트(Instrumentation Test)를 실습으로 알아보자

계측 테스트란, 앱을 시작한 다음 상호 작용이 의도대로 돌아가는지 확인하는 UI 테스트다. 실습으로 진행하면서 어떻게 계측 테스트를 하는지 알아보자.시작 전 모듈 단 build.gradle에 다음과 같이 androidx 테스트 라이브러리를 추가해주자. 코틀린 환경이라면

2022년 9월 1일
·
0개의 댓글
·
post-thumbnail

TIL) 0831

바인딩을 할 때 초기값이 null이어야 하는 이유 Fragment에서 onCreatView()가 호출될 때까지 레이아웃을 inflate할 수 없기 때문에 null을 허용해야 한다. null을 허용하기 때문에 null safety를 위해 ?를 꼭 포함하자! 그리고 계속

2022년 8월 31일
·
0개의 댓글
·
post-thumbnail

Navigation을 알아보자!

사용자는 앱을 다양한 콘텐츠를 접하기 위해 여러 화면을 왔다갔다 이동한다. 이때 Jetpack에서 제공하는 Navigation을 활용하면 단순하게 화면(Fragment) 전환을 구현할 수 있다. 뿐만 아니라 화면 간의 데이터 공유도 훨씬 쉽다!공식 문서는 다음과 같이

2022년 8월 31일
·
0개의 댓글
·

TIL) 0830

ViewModel에서 코루틴 활용하기https://leveloper.tistory.com/213@Volatile이 어노테이션을 활용하면 다른 스레드에서 활용되어도 즉각적으로 보이게 해준다. 변수 선언시 이 어노테이션이 지정되었을 때 값을 메인 메모리에 적재하기

2022년 8월 30일
·
0개의 댓글
·
post-thumbnail

Room을 알아보자!

안드로이드에서 앱이 종료되어도 데이터를 관리하는 방법에는 다음 것들이 있다.Shared Preferences → 앱의 간단한 설정값을 저장할 수 있다.SQLite → 다량의 데이터를 저장할 수 있다.그런데 SQLite는 사용하기 어렵고 속도 등에서 까다롭다. 이 SQL

2022년 8월 30일
·
0개의 댓글
·

ViewHolder에 Retrofit... 넣어도 되나요

* 거두절미하고, 안됩니다.* 하지만 아무것도 모르는 나는 ViewHolder에 Retrofit을 넣을 수밖에 없었던 피치못할 사정이 있었는데.... 얼레벌레 내가 맞닥뜨린 상황 사용자가 검색한 가수와 비슷한 느낌의 가수를 추천해주는 API를 쓰고 있었다. 근데 이

2022년 8월 29일
·
0개의 댓글
·
post-thumbnail

Retrofit2 enqueue(비동기)를 동기로 바꾸기

데이터가 들어오면 그 순서대로 처리가 되는 줄 알았는데 중구난방이었다......생각 않고 코드를 짰다가 낭패를 봤다…우선 예제로 돌릴 나의 삽질 코드부터 보자.1\. 순서대로 Retrofit을 생성해 돌릴 거니까, 반복문에 넣자!2\. getArtistImge()는 이

2022년 8월 29일
·
1개의 댓글
·