본문 바로가기
"회전초밥 계산기" 개인정보취급방침 '돼지왕왕돼지'는 (이하 '개발자'는)고객님의 개인정보를 중요시하며, "정보통신망 이용촉진 및 정보보호"에 관한 법률을 준수하고 있습니다. 개발자는 개인정보취급방침을 통하여 고객님께서 제공하시는 개인정보가 어떠한 용도와 방식으로 이용되고 있으며, 개인정보보호를 위해 어떠한 조치가 취해지고 있는지 알려드립니다. 개발자는 개인정보취급방침을 개정하는 경우 앱 다운로드 페이지에 공지할 것입니다. ■ 수집하는 개인정보 항목 개발자는 개인정보를 수집하지 않고 있습니다. ■ 이용하는 개인정보 항목 이용하는 개인정보가 없습니다. ■ 이용하는 권한 항목 이용하는 권한 항목이 없습니다. 2025. 11. 7.
다시 글쓰기를 시작할까 합니다. 이런 저런 사정으로 글쓰기를 멈췄었습니다.더보기이런 저런 사정이 별건 아니지만..그래도 뭔지 궁금하시다면 댓글 남겨주세요. 그럼 다음 글쓰기 주제로 삼아볼께요 글을 잘 쓰지는 못하지만, 글 쓰는 것이 일종의 취미라는 것을 알아버렸습니다.저는 극 I 로써 사람들과 소통을 잘 하는 편은 아니지만, 어딘가 이야기를 할 곳은 필요하다는 것을 깨달았죠.그 이야기를 일방적으로 풀어내도 되고, 원하는 사람만 선택적으로 들을(?) 수 있는 이 블로그 글쓰기가,현재로서는 가장 쉽게 접근할 수 있는 저의 이야기 형태라고 생각하였습니다. 그래서 오늘부터 뭔가 생각을 풀어내고 싶을 때마다 이런 형태의 글들을 살살 써볼까 합니다.사실 계속 이런 끄적임을 계속 해야 겠다고 생각만 하고 있었는데, 어제 받은 편지가 자극이 되어 오.. 2025. 11. 7.
[android] What is MVI & Concept of Model - MVI (Model View Intent) Architecture What is MVI? - MVI 는 Model-View-Intent 를 의미하며, Cycle.js 에 영향을 받았다. MVI 는 android 를 비롯한 UI-based app 에 적합한 패턴이다. MVI 의 목적은 더 읽기 좋은 코드, decouple 된 코드이며, 더 일관성 있는 코드이다. - Intent 는 유저 이벤트에 의해 발생하는 view 와의 interaction 이다. Intent 는 Model 의 상태변화를 야기한다. - View 는 다른 아키텍처에서 말하는 것과 동일하다. Model 의 상태를 반영하며, intent 를 통해 유저 interaction 을 전달한다. - Model 은 'state' 를 의미하며, business logic 과의 interaction 을 포함한다. 이는 .. 2023. 11. 29.
돼지왕왕돼지 사이트 개인정보 취급방침 '돼지왕왕돼지'는 (이하 '운영자'는) 고객님의 개인정보를 중요시하며, "정보통신망 이용촉진 및 정보보호"에 관한 법률을 준수하고 있습니다. 운영자는 개인정보취급방침을 통하여 고객님께서 제공하시는 개인정보가 어떠한 용도와 방식으로 이용되고 있으며, 개인정보보호를 위해 어떠한 조치가 취해지고 있는지 알려드립니다. 운영자는 개인정보취급방침을 개정하는 경우 앱 다운로드 페이지에 공지할 것입니다. ■ 수집하는 개인정보 항목 운영자는 별도로 개인정보를 수집하지 않고 있습니다. ■ 이용하는 개인정보 항목 이용하는 개인정보가 없습니다. ■ 이용하는 권한 항목 이용하는 권한 항목이 없습니다. 2023. 10. 1.
[android] 다시 살짝 정리해보는 AppWidget. https://developer.android.com/develop/ui/views/appwidgets # AppWidgetHost 위젯을 로드하고 표시할 앱. 보통 Launcher 가 그 역할을 함. AppWidgetProviderInfo widget 의 layout, update frequency, AppWidgetProvider 등의 metadata 기술 xml 형태로 제공함 AppWidgetProvider widget 의 lifecycle 관련된 method 들을 정의. widget 이 update, enable, disable, deleted 되었을 때 event 를 broadcast 로 받을 수 있음. View layout xml 로 정의 # Android Studio 에서는 New > Wid.. 2023. 8. 18.
[android] ConnectionService 에 대해 알아보자 https://developer.android.com/reference/android/telecom/ConnectionService # 앱이 다음 조건을 충족할 때 구현해야 하는 Service 임 VoIP 이나 다른 전화를 발신하면서 system 이 관리하는 ConnectionService 에 통합되길 원하는 경우 독립적인 전화앱으로 system 이 관리하는 ConnectionService 에 통합되지 않길 원하는 경우 (self managed) # ConnectionService 를 구현하면, 다음 과정을 통해 Telecom 이 bind 하도록 등록 할 수 있다. 1. Manifest 에 정의 2. TelecomManager 에 PhoneAccount 등록 System 이 관리하는 ConnectionS.. 2023. 8. 17.
[android] Compose Side-effects https://developer.android.com/jetpack/compose/side-effects # LaunchedEffect : composable 안에서 suspend function 실행 composition 에 들어가면 LaunchedEffect 의 block 코드가 새로운 coroutine 에서 실행됨. composition 에서 벗어나면 LaunchedEffect 의 block 코드는 cancel 됨. Recomposition 에서는 LaunchedEffect 의 key 가 변경되는 경우 기존 coroutine cancel 하고 relaunch 됨. if (state.hasError) { // `LaunchedEffect` will cancel and re-launch if `scaf.. 2023. 8. 16.
[android] compose 의 stability https://developer.android.com/jetpack/compose/performance/stability # compose 는 type 을 stable, unstable 로 구분한다. type 이 immutable 이면 stable 이고, 이는 recomposition 시 compose 가 값 변경이 있었는지를 알아챌 수 있다는 것이다. type 이 unstable 하다는 것은, recomposition 시 compose 가 값 변경이 있었는지를 알 수 없다는 것이다. (돼왕 : 그래서 안정성을 위해 항상 recomposition) # stable parameter 는 recomposition 시 값이 변경되지 않았다면 recompose 를 skip 시킨다. unstable paramet.. 2023. 8. 15.
[android] BlockedNumbers (수신차단) 에 대해 알아보자. https://source.android.com/docs/core/connect/block-numbers # Android N (7.0, API Level 24) 전에는 수신차단을 위해서는 특정 앱을 다운로드 받았어야 했음. 그러나 이런 앱들도 공식적으로 지원되는 API 가 없었기에 기대하는 만큼 작동하지 않았음. 몇몇 제조사들은 자체적인 수신차단 방법을 제공하곤 했지만, 유저가 단말을 변경하면 이 정보들은 날아가기 일쑤였음. 기능들을 나름 잘 제공하는 앱들을 사용하는 경우에도, 각각의 앱에서 중복으로 수신차단 번호를 등록해야 하는 수고로움도 있었음. # Android N (7.0, API Level 24) 에서는 BlockedNumberProvider 라는 content provider 가 제공됨. 이.. 2023. 8. 14.
반응형