일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안드로이드 클린 아키텍쳐
- Koin
- 카드 내역 공유 앱
- RX
- Android
- moveToState
- onViewCreated
- 올인원타이머
- List
- 작성
- 대학톡
- java.lang.OutOfMemoryError: Java heap space
- RxJava
- Quickly
- kotlin
- 특가알람
- 안드로이드
- nvidia-docker
- 뷰 상태복구
- fragment
- 특가촌
- compileKotlin FAILED
- 타이머앱
- recyclerview
- todofication
- 뷰 상태 저장
- android clean architecture
- 카드내역 공유
- 특가게시판
- andorid
- Today
- Total
목록전체 글 (74)
seoft
파일 다운로드 관련해서 DownloadManager를 사용할 수 도 있지만, 큰용량이 아닌 url로부터 단순 이미지를 받기 위해서는 상황에 따라 코드가 복잡하고 과할 수 도 있다. DownloadManager에 비해 Glide를 통한 방법으로 비교적 짧고 간단한 코드로 구현이 가능하다. Glide에 url을 넣어 진행시키고 완료되면 onResourceReady가 비동기로 호출되고 그 콜백 내에서 File을 생성, 변환 해주는 방법이다. 필자는 Rx에 병렬적으로 진행하기위해 Single타입으로 반환했으며 cache경로에 랜덤한 파일명으로 저장시켜 사용하였다. 상황에 맞게 알맞게 고쳐 사용하면 될 것같다. 위의 함수를 사용한 부분인데 single타입의 리스트를 zip에넣어 활용하였다 이미지 외의 다운로드, ..
[요약] 코틀린에서 리플랙션을 사용하면 KClass를 가지고 있다가 필요시 인스턴스화 할 수 있다. 다음과 같은 상황이 있다고 가정해보자(억지지만) 먼저 서버에서도 받아오고 다른대서도 공통으로 사용되는 데이터 클래스가 존재한다. 또한 특정 페이지에 공통으로 사용되는 프로퍼티들이 있어 타입별 enum으로 정의하여 사용한다. 공통으로 사용하는 페이지가 있고, 진입시 타입에 따라 알맞은 인스터스를 생성해 사용해야 한다. enum을 통해 분기를 타지 않고 사용할 수 있지만, 어쩔수 없이 인스터스 생성은 다음과같이 타입별로 if분기를 타서 정의한다. 지금은 분기가 크게 많지 않지만 타입이 3개가아니라 10개, 100개 if분기가 늘어날것이다 . 이런 분기를 없애기위해 enum으로 다른 분기는 제외시켰으나 인스턴스..
[글쓰기 in PlayStore] https://play.google.com/store/apps/details?id=kr.co.seoft.sf 게시판 작성/공유 플랫폼 : 글쓰기 - Google Play 앱 모임에서 투표할 공간이 없다구요?? 공통된 관심사에서 정보를 공유하고 싶으세요?? 간단한 홍보글을 써서 홍보가 필요한가요?? 글쓰기 플랫폼에서 간편하게 작성하고 공유하고 의견을 나눠보�� play.google.com [글쓰기 소개] http://post.seoft.co.kr/
Accept personal information handling terms 1. Purpose of processing personal information ('seoft.tistory.com/' hereinafter'SEOFT') processes personal information for the following purposes, and does not use it for purposes other than the following purposes. . 2. Rights and obligations of the information subject and how to exercise the user As a personal information subject, the user can exerci..
사이드 프로젝트 개발 도중에 sealed 클래스를 상속받은 클래스들을 라이브데이터 형식으로 관리하고 합쳐서 리사이클러뷰 아답터에 넘겨주는 형식으로 개발하였는다. liveData의 널체크와 리스트 합치는 과정에서 다음과 같은 코드가 구현됬었다. 위의 코드에서 두가지 사항이 불편했는데 라이브데이터 단일형식(LIveData과 리스트형식(LiveData)의 통합관리 불필요한 공통된 value의 널체크 두 사항을 보완하고자 유틸성 클래스를 하나 구현하였다. 해당 유틸성 클래스를 사용하면 라이브데이터의 단일형식과 리스트 형식을 따로 처리하지않고 유틸성 함수 내에서 타입에 맞춰 리스트화(혼합가능) liveData.value가 null일 경우 리스트에서 제외 위의 코드와 비교했을때 LiveDataUtil를 사용했을때 ..
[개요] 사이드 프로젝트 시나리오 중 게시글 작성 기능으로 단순 글작성 뿐만 아니라 사진, 투표, 체크리스트, 유튜브 등을 포함 시킬 수 있는 페이지가 필요해서 구현하였고 데이터바인딩의 숙지를 위해 데이터바인딩 MVVM을 함께 적용하여 구현하였다. [결과] [요구사항] 모바일용 글 작성페이지로 요구사항은 다음과 같다. 글 작성 외에도 사진, 투표, to-do, 유튜브를 포함 (투표가 to-do 상위호환이고 유튜브는 url 데이터 정의만 하면 되기 때문에 구현에서 제외하고 투표만 구현) 글 작성페이지에 다수의 복합적인 아이템(사진,투표 등) 배치 아이템 중간 중간에도 글 작성 아이템 삭제, 위치 변경 투표 작성 페이지의 요구사항은 다음과 같다. 글, 이미지가 투표 항목 중 하나로 정의 투표 항목 삭제, 위..
사이드 프로젝트 도중 다형성을 이용해 생성된 리스트를 json을 서버에 주고 받을 상황이 생겼다. 일반적으로 한타입의 List를 json화 해봤었지만 다양한 타입을 json화, 객체화 해올 일이 없어 찾아보면서 한번 정리 해본다. 큰 방향은 하위 객체 json에 type key값을 두고 내부적으로 해당 key값을 통해 타입을 설정하는 것 같다. 이 방식을 통해서 다음 java 파일이 필요하다. https://github.com/google/gson/blob/master/extras/src/main/java/com/google/gson/typeadapters/RuntimeTypeAdapterFactory.java google/gson A Java serialization/deserialization lib..
20.7.18 추가 Single 대신 Completable를 이용하면 완료 유무만 가져와 사용할 수 있다. 간혹 Json Body없이 단순히 200 코드남 반환해주는 코드를 접할때가 있다. 그럴 경우 다음처럼 처리하면 된다. 1. Response타입의 Observable 혹은 Single 을 통해 받은 후 2. rx의 subscribe 혹은 필요한 부분에서 반환 된 Response객체의 code()를 가져와 기대했던 resonse code와 비교