본문 바로가기

반응형

Android

Noti Alarm - 긴급 알람 앱 형제가 대충 백엔드 쪽 작업을 한다. 새벽에 장애가 발생하면 곧장 일어나서 확인해야 하는데, 아직 초짜라 그냥 자버렸다고... "푸시 알림이 오면 등록한 키워드에 따라 알람을 울리는 앱"을 의뢰했다. 생각보다 요구사항이 많지 않아 당장 중요한 기능은 이틀만에 만들고.. 출시를 하려고 했으나, 다듬다보니 부족한 점이 너무 많이 보였다. 1. 앱 목록이 가나다 순도 아니고 package 명 순임 (보이지 않음) => 찾기 힘드니 검색창을 달자 2. 앱 별로 활성화 스위치를 만들자. 3. 시간 설정도 할 수 있으면 좋겠다. 4. 소리를 변경할 수 있도록 하고 진동도 넣자. 5. Room이 도대체 뭔지 MVVM을 어떻게 적용해야 할 지 사실 이해가 잘 안 간다. 등등등. 이외에도 아키텍쳐, 클린코드 등 욕심나는.. 더보기
Jsoup Coroutine Warning: Inappropriate blocking method call - 안드로이드 이슈 12 안녕하세요~ 오늘은 마주친 찝찝한 에러, Inappropriate blocking method call과 해결법에 대해 글을 써보려고 합니다. 먼저 이전에 사용하던 Volley 대신 Jsoup을 사용하게 된 이유부터 말씀드릴게요. 이번 프로젝트를 진행하면서, Volley의 불편함과 한계를 느꼈습니다. 파싱이 안되는 건 정규 표현식을 이용해 어찌저찌 해결했지만, 307 에러를 해결하지 못하더라고요. 때문에 크롤링과 파싱을 간편하게 Jsoup을 이용해 해결했는데요. 처음 작성한 코드는 다음과 같습니다. 이때 get() 부분에 warning이 발생합니다. warinig의 내용은 Inappropriate blocking method call인데요. 이를 이해하기 위해선 먼저 blocking과 non-blocki.. 더보기
안드로이드 개발자 사이트가 느리다.. 로딩 속도가 처참하다.... 이 또한 SK의 문제일까.. 더보기
adjustResize, nextFocusDown, animateLayoutChanges로 반응형 UX 만들기 - 안드로이드 이슈 11 많은 경우, 사용자가 좋아하는 앱은 사용하기 편합니다. UX가 좋다고도 하죠. 넷플릭스, 토스, 삼성페이 등을 그런 좋은 UX의 예시로 들 수 있을 것 같은데요. 좋은 UX를 구축하기 위해서는 사소한 부분에서 디테일을 쌓아올리는 게 중요한 과제라고 생각합니다. 이왕 삼성페이 얘기를 꺼낸 김에 삼성페이가 어떤 디테일을 추구했는지 살펴볼까요? 사실 로또위시를 만들 때, 삼성페이를 레퍼런스로 잡고 작업했습니다. 간결합니다. 삼성페이는 지갑에서 카드를 꺼내듯 핸드폰을 꺼내고 바로 실행할 수 있어야 합니다. 때문에 하단에 배치하여 슬라이드 하여 실행할 수 있게 하였고, 앱 로딩 초기 화면(Splash screen)을 과감하게 삭제하였습니다. 결제에 필수적인 부분이 먼저 로딩되며, 광고, 추가 메뉴 등은 로딩이 완.. 더보기
#tools:context #toolsNS 이용하여 미리보기 만들기 안드로이드 테스트 텍스트 - Android 이슈 10 근황글.. 더보기 블로그 활동을 하지 않은 약 두 달...? 세 달?? 동안 폐관 수련을 했습니다. 사실 2월에 블라디보스톡도 다녀오고.. 3월? 아니 4월에 개강도 (몇 차례 밀려) 한 거 같지만.. 어쨌든 그 기간 동안 안드로이드 어플리케이션 개발에 매진하여 나름의 성과를 이룩했습니다. https://play.google.com/store/apps/details?id=com.Roo_Media_.lottoWish 로또위시 - Google Play 앱 로또 되면 뭐부터 사지...? 이젠 로또위시에 적어보세요! 위시리스트 중 어떤 물건까지 살 수 있는지, 당첨금을 얼마나 남는지 알려드립니다. 체계적인 위시리스트 관리는 물론, 자동, 수동, QR 등록과 당첨 확인까지!! 로또위시를 통해 인생 역전을 대비합시.. 더보기
LottoWish(로또위시) 개인정보 처리 방침 본 "개인정보 처리 방침"은 "Roo_Media_"가 배포하는 "안드로이드 어플리케이션 로또위시" (이하 "로또위시") 사용을 위하여 요청하는 "민감한 권한" 및 "사용자 정보"에 대한 관리 및 운영에 관한 내용입니다. 1. 사용하는 "민감한 권한" 및 "사용자 정보"와 이의 이용 목적 1) android.permission.CAMERA "로또위시"에서 QR 코드 분석 기능을 수행하기 위하여 사용." 2. "민감한 권한" 및 "사용자 정보"에 대한 수집 "Roo_Media_"에서는 사용자가 "로또위시"를 사용함에 있어 서비스의 이용 내역을 포함한 어떠한 개인 정보도 "Roo_Media_"에서 운영/관리하는 서버로의 수집/전송/저장 하지 않습니다. 3. "민감한 권한" 및 "사용자 정보"에 대한 제3자 제.. 더보기
kotlin 이슈 8 BottomNavigationView + ViewPager2 이용하여 슬라이드 메뉴 만들기 로또위시에서 위시리스트와 게임리스트 메뉴 사이를 이동할 때, 하단 메뉴나 좌우 슬라이드를 이용하고 싶어 잠깐 찾아 봤습니다. 안드로이드 에는 하단 메뉴를 지원하는 Bottom Navigation View가 있습니다. New Project에서 Bottom Navigation View를 선택한 후, 변형하여 사용해볼까요? 처음 프로젝트를 생성하면 아래와 같은 구조로 이루어져 있습니다. empty project와 비교해서 ui, menu, navigation 폴더가 추가되었고, ui에 해당하는 layout이 추가되어 있습니다. ui 폴더 아래 각각의 메뉴 폴더 안에는 Fragment와 ViewModel 파일이 있습니다. // HomeFragment.kt // ... class HomeFragment : Fra.. 더보기
Kotlin 이슈 7 Room 사용하여 안드로이드 로컬 db 시작하기 위시리스트를 저장하고 싶어! 안드로이드 어플에 데이터를 저장하는 방법은 여러가지가 있지만, 저는 서버가 없는 관계로 로컬 db인 SQLite를 사용하기로 했습니다. Room은 SQLite 성능을 최대화하면서도 원활한 데이터베이스 접근을 위해 추상 레이어를 제공합니다...만 물론 직접 접근하는 방법도 존재합니다. 아래 링크는 SQLite에 직접 접근하는 방법에 대해 설명하는 안드로이드 공식 문서입니다. SQLite를 사용하여 데이터 저장 | Android 개발자 | Android Developers 데이터베이스에 데이터를 저장하는 작업은 연락처 정보와 같이 반복적이거나 구조적인 데이터에 이상적입니다. 이 페이지는 일반적으로 개발자가 SQL 데이터베이스를 잘 알고 있다고 가정하며 Android에서 SQLit.. 더보기

반응형