일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- livedata
- AWS
- pandas
- Coroutines
- Kotlin
- 백준
- NGINX
- textfield
- 코드포스
- androidStudio
- android
- Codeforces
- 쿠링
- ProGuard
- TEST
- Python
- GitHub
- relay
- MiTweet
- architecture
- 암호학
- Gradle
- Compose
- 프로그래머스
- MyVoca
- Hilt
- boj
- Rxjava
- Coroutine
- 코루틴
- Today
- Total
목록android (87)
이동식 저장소
문자열 하나 정도라면 Intent에 그냥 넣어도 되지만, 변수가 많아질수록 key를 일일이 관리하기도 어렵고 코드도 더러워진다. Intent().apply { putExtra(NOTICE_URL, url) putExtra(NOTICE_ARTICLE_ID, articleId) putExtra(NOTICE_CATEGORY, category) putExtra(NOTICE_POSTED_DATE, postedDate) putExtra(NOTICE_SUBJECT, subject) } 여러 개의 값을 전달하려면 Parcelable 또는 Serializable을 사용하는 것이 좋다. 그런데 Parcelable과 Serializable 둘 중 무엇을 써야 하는가? Serializable ``Serializable``은 ..
코드랩으로 연습해 보자. 이 글은 아래의 코드랩을 요약하여 작성하였다. Android Paging 기본사항 | Android Developers 이 Codelab에서는 목록을 표시하는 앱에 Paging 라이브러리를 통합합니다. Paging 라이브러리를 사용하면 로컬 저장소에서나 네트워크를 통해 대규모 데이터 세트의 데이터 페이지를 로드하고 표시 developer.android.com 의존성 정의 Paging 라이브러리 의존성을 정의하자. // architecture components implementation("androidx.paging:paging-common-ktx:3.1.0") implementation("androidx.paging:paging-runtime-ktx:3.1.0") Data so..
대량의 데이터를 유저에게 보이는 부분만 조금씩 가져오고 싶을 때 Jetpack Paging 라이브러리를 사용할 수 있다. 아키텍쳐 Paging 라이브러리는 ``DataStore`` → ``Repository`` → ``ViewModel`` → ``UI``로 이어지는 안드로이드 권장 아키텍쳐에서 바로 사용할 수 있다. 이 문단에서는 개념만 소개하고, 아래에서 실제로 구현해 보겠다. Repository layer Repository layer에서는 ``PagingSource``를 정의해야 한다. ``PagingSource``는 하나의 source로부터 데이터를 로드하는 작업을 정의한다. 예를 들어 로컬 DB나 원격 서버에서 데이터를 받아오는 작업을 정의할 수 있다. 데이터를 받아오는 로직이 계층 구조로 되어..
쿠링 - 건국대학교 공지앱 - Google Play 앱 건국대학교 공지를 알림으로 제공합니다. play.google.com 쿠링 - 건국대학교 공지앱 건국대학교 공지사항을 한눈에! 원하는 공지를 알림으로 받고 검색도 해보세요. apps.apple.com 동아리 선배의 소개로 1월부터 쿠링 프로젝트에 참여하고 있다. 매번 홈페이지에서 직접 확인해야 했던 학교 공지를 모아서 보여주고, 신규 공지가 있을 때 알림까지 보내주는 훌륭한 서비스이다. 1월에 합류해서 코드 공부하다가(이때 RxJava 코드를 처음 봤다), iOS에 있는데 안드로이드에 없는 기능을 나에게 맡기신다고 하여 개발하게 되었다. 신기능 내가 개발한 신기능은 공지 보관함이다. 중요한 공지를 모아서 한 눈에 볼 수 있는 기능이다. DB에 co..
Disclaimer: 이 글에서는 원문의 느낌을 살리기 위해 일부 용어를 원문 그대로 사용한다. Rx에서는 observer가 Observable을 subscribe한다. Observer는 Observable이 emit하는 값을 처리한다. Observer 패턴은 특히 비동기 작업에서 유용하다. 데이터가 언제 주어질 지 모르고, 몇 개나 주어질 지도 모르는 상황에서 스레드를 무작정 block해놓고 기다릴 수는 없다. 따라서 작업을 호출할 때 주어진 데이터에 대해 수행할 작업을 지정해놓기만 하고(subscribe), 실제 작업은 데이터가 주어진 시점에 수행하면 된다. Rx에서는 이 패턴을 reactive pattern이라고 부른다. 이미지 한 장으로 보면 다음과 같다. 장황하게 적긴 했지만, Kotlin의 `..