일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Quickly
- recyclerview
- todofication
- kotlin
- 올인원타이머
- andorid
- java.lang.OutOfMemoryError: Java heap space
- fragment
- moveToState
- List
- 안드로이드
- 작성
- Koin
- Android
- 카드 내역 공유 앱
- nvidia-docker
- 특가게시판
- onViewCreated
- 뷰 상태복구
- RxJava
- 카드내역 공유
- 안드로이드 클린 아키텍쳐
- android clean architecture
- 특가촌
- 대학톡
- 타이머앱
- compileKotlin FAILED
- 뷰 상태 저장
- 특가알람
- RX
- Today
- Total
목록Android (10)
seoft
개요 개인적으로 리사이클러뷰를 구현할 때 DiffUtil을 엄청 믿고 신뢰하며 사용해왔었는데, 팀 내에서 수동적인 notifyXXX 갱신 방식과 DiffUtil 방식의 차이에 대해 잠시 이야기가 나왔습니다. notifyXXX 는 변경대상을 알고 대상 부분에만 변경요청을 하는데 비해, 디프유틸을 사용하게 되면 하나의 아이템에 대한 변경을 위해서 full size diff 를 검사가 필요하기 때문에 성능적인 측면에서 비효율적인 것은 사실입니다. 하지만 예전부터 디바이스 성능이 상향 표준화가 되면서 DiffUtil 도입시의 성능갭이 별로 차이가 나지 않는다면 구현 혹은 유지보수의 용이성과 티가 안나는 성능차이는 트레이드오프할 가치가 있을 것이고 그렇기에 구글 프레임워크에도 포함되어 나오고 있는 거라 생각하고 ..
사이드 프로젝트 진행 중 간단하게 Repository 대상의 테스트가 진행되면 좋을 것 같아 진행하였고, 관련해서 기술합니다. 단순히 최근검색어를 로컬로 get, add, clear 하는 로직을 테스트하기위해 필요한 부분중 핵심적인 일부 코드만 모았습니다. 먼저 유닛테스트와 디펜던시가 없는 실 프로젝트 구성 중 koin 인잭션이 있는 코드들을 기술합니다. SettingRepository.kt DataSource와 Preference 주입도 내부적으로 포함되있으나 해당 코드들은 생략하고 unit test로 사용하지 않는 코드들도 생략합니다. ResultModule.kt 실제 프로젝트 구성에서 전반적인 di를 구성합니다, 해당 예제에서는 repositoryModule, localModule 만 관여되며, S..
[deprecated] 클린아키틱쳐에 대해 일부 생각이 바뀌어 추후 새로작성 예정, repository 도 내리고, 히스토리 관리차원에서 블로그 내용은 유지 [개요] 클린 아키텍쳐에 대한 숙지를 위해 작은 데모앱을 구성, 구성과정을 기록합니다. Github : deprecated(github.com/seoft/seoft-android-clean-architecture) seoft/seoft-android-clean-architecture Contribute to seoft/seoft-android-clean-architecture development by creating an account on GitHub. github.com 데모앱의 간단한 요구사항은 다음과 같습니다. - ID 와 페스워드를 서버에..
4.1.1 버전에서 저장 단축키를 누르고 Shift + F10 을 통해 Run을 했지만 바로 적용이 안되는 문제가 발생하였다. 다음 설정을 해서 문제를 해결할 수 있었다. 1. Run/Debug Configurations 에서 Allow parallel run 체크 해제 2. Settings - Build, Execution, Deployment - Deployment 에서 다음 두 사항 체크 다음 설정을 마친 후 저장후 rerun 하게 되면 반영이 된다 참조 : stackoverflow.com/questions/60833124/i-have-to-press-run-twice-or-clean-project-before-run-on-android-studio
[Global Chat in PlayStore] https://play.google.com/store/apps/details?id=kr.co.seoft.gc 글로벌 톡 - Google Play 앱 글로벌 톡을 통하여 전세계 사람들과 소통하세요 # 간단하게 가입하세요 간단하게 닉네임만 입력하면 가입할 수 있습니다. 가입 후에 아이콘이나 프로필 메세지도 설정할 수 있습니다. # 대화하 play.google.com
[AndroidRemoteConfig 개요] 혹시 이런 상황 겪으신적 없으신가요 1. 앱에 연동된 서버가 특정 이유로 사용할 수 없어 사용자에게 공지를 노출해야 할 경우 2. 앱의 특정 버전에 치명적인 버그가 발생하여 특정버전 이하 사용자를 강제업데이트 시켜야 할 경우 위의 상황에 대비해서 앱을 제작하는 과정에 특정정보를 받아 처리하는 로직을 사전에 구현해야합니다. 이런경우 보통 firebase의 remote config를 사용하는데, 사용할 스팩이 위와 같이 단순한데 firebase console까지 구축하고 연동하는 번거로움 혹은 firebase의 remote config 제한 스팩보다 더 자유롭게 사용이 필요한 경우 자체적인 remoteConfig가 필요할 수 있습니다. 저 같은 경우에는 24시간,..
[요약] 코틀린에서 리플랙션을 사용하면 KClass를 가지고 있다가 필요시 인스턴스화 할 수 있다. 다음과 같은 상황이 있다고 가정해보자(억지지만) 먼저 서버에서도 받아오고 다른대서도 공통으로 사용되는 데이터 클래스가 존재한다. 또한 특정 페이지에 공통으로 사용되는 프로퍼티들이 있어 타입별 enum으로 정의하여 사용한다. 공통으로 사용하는 페이지가 있고, 진입시 타입에 따라 알맞은 인스터스를 생성해 사용해야 한다. enum을 통해 분기를 타지 않고 사용할 수 있지만, 어쩔수 없이 인스터스 생성은 다음과같이 타입별로 if분기를 타서 정의한다. 지금은 분기가 크게 많지 않지만 타입이 3개가아니라 10개, 100개 if분기가 늘어날것이다 . 이런 분기를 없애기위해 enum으로 다른 분기는 제외시켰으나 인스턴스..
[개요] 사이드 프로젝트 시나리오 중 게시글 작성 기능으로 단순 글작성 뿐만 아니라 사진, 투표, 체크리스트, 유튜브 등을 포함 시킬 수 있는 페이지가 필요해서 구현하였고 데이터바인딩의 숙지를 위해 데이터바인딩 MVVM을 함께 적용하여 구현하였다. [결과] [요구사항] 모바일용 글 작성페이지로 요구사항은 다음과 같다. 글 작성 외에도 사진, 투표, to-do, 유튜브를 포함 (투표가 to-do 상위호환이고 유튜브는 url 데이터 정의만 하면 되기 때문에 구현에서 제외하고 투표만 구현) 글 작성페이지에 다수의 복합적인 아이템(사진,투표 등) 배치 아이템 중간 중간에도 글 작성 아이템 삭제, 위치 변경 투표 작성 페이지의 요구사항은 다음과 같다. 글, 이미지가 투표 항목 중 하나로 정의 투표 항목 삭제, 위..