일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 특가게시판
- compileKotlin FAILED
- Android
- 안드로이드 클린 아키텍쳐
- 카드내역 공유
- onViewCreated
- andorid
- 특가촌
- 뷰 상태 저장
- recyclerview
- kotlin
- RxJava
- moveToState
- 타이머앱
- todofication
- android clean architecture
- Quickly
- java.lang.OutOfMemoryError: Java heap space
- 작성
- Koin
- 대학톡
- fragment
- RX
- 뷰 상태복구
- 올인원타이머
- nvidia-docker
- 안드로이드
- List
- 카드 내역 공유 앱
- 특가알람
- Today
- Total
목록전체 글 (74)
seoft
중복클릭을 방지하고자 하였고 throttleFirst를 RxView.clicks와 함께쓰는 자료가 대부분이었다. RxView를 따로 쓰지않아 Util성격으로 클래스를 하나 만들었다. 사용은 전역으로 ClickUtil 객체를 하나 생성후 click.run에 실행할 부분을 넣어주면 된다. lifecycle을 넘기므로 rxjava의 dispose 를 신경 쓰지 않아도 된다.
기존에 if 로 널처리 혹은 특정 처리 후 코드를 이어갈라면 코드가 길어지고, 뎁스가 깊어지는 경우 도 있다. 다음 처럼 사용하면 더 간결하게, 직관적으로 사용할 수 있다.
[개요] quickly앱(https://seoft.tistory.com/30) 시나리오 중 애플리케이션 배치, 설정을 위한 페이지가 필요했고 복잡한 페이지는 모듈 단위로 만들어 다음에도 재사용 하고자 제작하게 되었다. [결과] [요구사항] 기본적인 홈런쳐에 있는 기능과 유사하며, 요구사항은 다음과 같다. 9개의 아이템을 가지고 있는 4개의 그리드에 앱배치 각 그리드나 폴더 내 아이템 추가, 삭제 단순이동, 그리드간 이동 폴더 생성, 폴더 삭제 폴더 내의 아이템 각 그리드로 이동 [구현 요약] 센터, 하단 그리드, 휴지통 위치정보 획득, 터치 정보 확보 센터 그리드 한칸당 3등분으로 분배 그리드에서 LongClick시 아이템 정보, 좌표 획득 후 동적으로 create, 현 터치지점 따라다니도록 구현 터치 ..
동시성 환경에서 리스트를 갱신할 때 immutable한 list를 새로 생성하여 list자체에 대입시킨다. 20.02.18 추가 밑에처럼 사용하다가 더 쉽고 직관적인 방법을 찾아 공유한다. 기존에 위와같은 방법을 사용했었는데, 밑에처럼 비교적 간단하게 사용 가능하다. kotlin list 생성 방법 중 varang을 받는 inline함수가 있는다. 이 함수에 리스트 인자를 넣으면 되는데, list를 array로 바꾸고 array앞에 spread연산자(*)를 사용하면 개별 변수로 되어 varang에 대입할 수 있다.
버그 리포팅 & 추후 여유있을때 사유 파악, 정리 버그 version commit : https://github.com/seoft/seoft-android-libraries/commit/506ed71de58f827fcdaebb12519ac870ae08476c 버그발생 재현 : 다음 이미지 처럼 폴더를 만든 후 6번째 아이콘 살짝 왼쪽에 걸쳐 아이콘을 밀어냄 해결법 : https://mparchive.tistory.com/149 DadigActivity 216 line, 주석 해제시 해결됨 rvBottoms.map { it.rv }.forEachIndexed { index, rv -> rv.layoutManager = object : GridLayoutManager(baseContext, gridCount..
문제정의 리사이클러뷰를 다음과 같이 폴더 아이콘 형식으로 사용하고 폴더를 눌렀을 때 이벤트를 발생시켜야 하는데 리사이클러뷰 내 어딘가에서 touchEvent를 소비해버린다. 리사이클러뷰에 onInterceptTouchEvent를 걸어 onTouch로 onClick을 대체하는 방법(https://seoft.tistory.com/32)이 있지만 onLongClick까지 적용시키기엔 좌표와 time계산을 통해서 혹은 gestureListener를 통해서 해결이 가능한데 단순 터치를 적용시키기 위해서 너무 과한 방법이라 판단하였다. 검색 후 리사이클러뷰 위에 뷰를 하나 덧되어 그 뷰에 터치 이벤트를 먹이는 방법도 있었지만 동적으로 생성하고 없애주는 경우에 뷰를 두 개씩 관리해야 된다는 점에서 채택되지 않았고 다..
문제정의 quickly앱(https://github.com/seoft/quickly)개발을 하기 이전에 우선 필요 뷰들을 라이브러리화 시켜 적용할 계획이었고, DragAndDropBetweenMultipleGrid(in https://github.com/seoft/seoft-android-libraries)라는 라이브러리 프로젝트 진행하였는데 도중에 의도치 않은 버그가 발생하였다. 버그 리포팅을 위한 요구사항은 중앙의 RecyclerView 내 아이템을 롱 클릭했을 때 플로팅 뷰 하나가 생겨나고 손가락을 따라다니며 스크린에 전체에 왔다 갔다 할 수 있게 구현하는 것 구현상황 : 1. RecyclerView ViewHolder에 setOnClickListener, setOnLongClickListener등..
개인 개발 PC의 OS를 포맷하면서 툴을 새로 설치하였고 추후에 또 새로 설치할 상황을 대비해 본인의 세팅을 정리해본다. 추가로 반영될 사항이 있으면 업데이트 예정 1. 평소 사용하는 폰트, Editor font로 적용 눈에 익은 평소에 사용하는 폰트로 사용하기 위해 설정 해당 사이트에서 폰트 설치 후 OS 적용(https://github.com/naver/d2codingfont/releases) Settings - Editor - font - font 에서 D2Coding ligature 로 변경 2. Ctrl + 스크롤시 글꼴 확대/축소 설정 종종 확대후 축소할 경우가 발생하여 해당 옵션설정으로 원할때 확대/축소할 수 있는 환경을 만들어 사용 설정 : Settings - Editor - General..