목록kotlin (10)
막무가내 삽질 블로그
코틀린에 대해 다시 한번 정리 중입니다. 현재 정리가 된 것은 큰 틀로 코정적 타입 지정언어, 함수형 프로그래밍의 핵심, 변경 가능한 변수와 변경 불가능한 변수, 프로퍼티, 커스텀 접근자, 함수 호출, 확장 함수와 확장 프로퍼티, 가변 길이 인자, 중위 함수, 구조 분해, 클래스, 인터페이스, 생성자와 프로퍼티, 데이터 클래스, by, object, 람다, 타입시스템, 관례, 위임 프로퍼티, 고차함수 까지 정리가 되었고 계속 추가할 예정입니다 www.notion.so/fundevjay/Kotlin-IN-ACTION-6e81ed031e2449a99c3d129d01a8914d Kotlin IN ACTION 개인적으로 공부한 내용을 정리 😃 www.notion.so
호출하는 액티비티가 스택에 있을 경우! 해당 액티비티를 최상위로 올리면서, 그 위에 있던 액티비티들을 모두 삭제하는 FLAG 루트 액티비티와 동일한 액티비티만 남긴 후 스택에 쌓여 있는 나머지 액티비티를 onDestroy() 시킨다. *** 속성이 적용된 액티비티는 onCreate() 부터 시작됨 *** --> 이 부분을 몰라서 삽질했다. ex) ABC -> b 호출 -> AB onCreate가 아닌 재사용만 하고 싶은 경우는 SINGLE_TOP과 같이 사용하면 된다. 나중에 다시 플래그에 대해 정리해봐야겠다.
medium.com/@onkart10/migrating-from-fabric-to-firebase-crashlytics-e8819933c484 Migrating from Fabric to Firebase Crashlytics Google has now completely migrated from Fabric to Firebase crashlytics. If you are still using Fabric SDK and you are not able to see the… medium.com
RxJava를 공부하면서 피드백 받은 내용을 정리해서 포스팅 해두었습니다. 3주차 목록은 Filtering Operator Part 2 -debounce -throttleFirst -throttleLast -sample -distinct -distinctUntilChanged -take -takeLast -First(Single), FirstOrError(Single) -FirstElement(Maybe) -ignoreElements(Completable) Combining Observables Part 1 -merge(Observable, Single, Maybe, Completable) -amb -zip -concat -combineLatest -startWith 실습하기 과제 www.notion.s..
RxJava를 공부하면서 피드백 받고 정리한 내용을 포스팅 했습니다. 2주차 내용은 Scheduler subscribeOn, observeOn Transformation Operator Mathmetical/Aggregate Operator Utility Operator Filtering Operator Part 1 Dispose/Disposable CompositeDisposable 실습하기 과제 www.notion.so/fundevjay/2-1e43be8260114fbcb78958bc7eae46b7 2주차 목차 www.notion.so
올해 초에 자바로 리싸이클러뷰 페이징에 대해 포스팅 했었는데 조금 더 다듬고 프로젝트에 맞게 끔 수정했다. 아래 첨부로 들어가면 볼 수 있다. www.notion.so/fundevjay/RecyclerView-Pagination-10c527bb55844fb799370db8263b9ecf RecyclerView Pagination 구현 리싸이클러뷰 페이징 처리 www.notion.so 안드로이드 스터디 모집중 www.notion.so/fundevjay/7256ac4ea03f4ea3afe1753142ae02c1 공지사항 안드로이드 개발자가 되기 위한, 좀 더 깊이감 있는 개발자가 되기 위해 스터디를 만들었습니다. www.notion.so
코루틴을 잘활용할려면 결과를 반환 받아서 처리를 하고 작업의 취소까지도 완벽하게 해줘야한다. fun main() = runBlocking { val job = launch { repeat(1000) { i -> println("job: I'm sleeping $i ...") delay(500L) } } delay(1300L) // delay a bit println("main: I'm tired of waiting!") job.cancel() // cancels the job job.join() // waits for job's completion println("main: Now I can quit.") } 0.5초 간격으로 문자열을 1000회 출력하는 블록이다. 블록이 시작한 후 1.3초가 지나면 코..
기존에는 날짜를 저장할 때 string으로 저장했었다. 다시 불러올 때 timestamp로 변환해 현재 날짜와 비교해서 로직을 처리 했었다. 하지만 중복되는 코드를 볼 수 있었고 또한 룸에서 가져올 때 ORDER BY time DESC 했었을 때 문제점은 12시가 제일 높게 인식한다. (yy-mm-dd hh.mm.ss a 기준) 이 문제를 해결 하기 위해 long 타입으로 넣으면 간단하게 해결할 수 있었고 코드중복을 줄일 수 있었다. 기존 테스트 코드 private lateinit var local: String // 오늘 fun main() { getTime() // 현재 날짜 가져오기 val today = SimpleDateFormat("yy년 MM월 dd일", Locale.KOREA) val dat..