두 리스트를 비교해서 업데이트 하는 방법을 지속적으로 업데이트 하고자 한다. val current = listOf(1, 2, 3, 4, 5) val new = listOf(4, 5, 6, 7, 8) println("******* [[ Result ]] *******") println("제거되야할 값들 >> ${current.filterNot { it in new }.toString()}") println("추가해야할 값들 >> ${new.filterNot { it in current }.toString()}") println("****************************")
안드로이드 진동 예제 Android 12 에서 VibratorManager 가 추가 되면서 낮은 os 서 부터 대응 하기 위해선 이렇게 분기 처리로 Vibrator 를 선언 해줘야 한다. val vibrator: Vibrator = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { val vibManager = getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager vibManager.defaultVibrator } else { getSystemService(Context.VIBRATOR_SERVICE) as Vibrator } 한번만 3초 동안 100의 크기의 진동을 준다. val ANI..
https://developer.android.com/guide/components/foreground-services Foreground services | Android Developers Foreground services Stay organized with collections Save and categorize content based on your preferences. Foreground services perform operations that are noticeable to the user. Foreground services show a status bar notification, so that users are activel developer.android.com
Mac 환경에서 개발중 애뮬레이터를 켜놓고 잠자기를 하는 경우가 많았다. 근데 가끔 그렇게 켜놓고(?) 다음날이 되면 애뮬레이터 날짜가 자동으로 설정 되어 있음에도 불구하고 이상한 시간과 날짜로 변환 되는걸 확인했다. 그걸 무시하고 빌드 하다보면 가끔 javax.net.ssl.SSLHandshakeException: Chain validation failed 이런 에러가 나온다. 위에서 말한 것처럼 날짜나 시간이 이상해져서 그런거 같은데 이럴땐 그냥 애뮬레이터 초기화 .. 해버린다 .. 그게 답인듯
ViewBinding을 사용하는 이유 실수로 내가 사용되야 할 곳에 id를 찾아 Import 시켜줘야 하는데 잘못해서 동일한 id를 갖는 다른 xml 을 참조할 가능성 자체가 없음. null exception 선언할 때 viewType 이 잘못선언할 경우 case exception 내가 사용하고자 하는 View를 직접 바인딩 하게 되기 때문에 다른 xml 을 갖고오는 실수를 할 수 없을 뿐더러 xml 을 만들면 자동으로 바인딩 클레스를 생성해준다. 바인딩 클래스가 자동으로 생성되는데 클래스 이름은 activity_main.xml > ActivityMainBinding fragment_main.xml > FragmentMainBinding module_item.xml > ModuleItemBinding K..
- Total
- Today
- Yesterday
- 맥 전용
- Android Wear Os
- aos img url bitmap
- 프래그먼트 데이터 저장
- 갤럭시 워치
- wear os
- Fragment data
- RandomColor
- widget 이미지 로딩
- 폴더블 상태 유지
- Android
- 가중치랜덤
- widget glide
- 폰과 워치 페어링
- 웨어러블
- 쏘렌토 하이브리드
- 풀배열 키보드
- Foldable Event
- 쏘렌토 하이브리드 시그니처
- flutter web
- widget onupdate
- 안드로이드 폴드 대응
- 안드로이드 플립 대응
- android widget 만들기
- widget 만들기
- 폴더블 이벤트 받기
- Dot indicator
- 랜덤컬러
- 역시 키크론이네
- widget onreceive
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |