728x90
반응형
- [ Android/Android ][Android] DataBinding 적용하기 - 022023-09-26 23:01:49지난 글에서는 DataBinding이 무엇인지, 어떻게 적용하는 지에 대해 알아보았다. 이번에는 실제 개인 프로젝트에 적용하며 알게된 것을 작성해보려고 한다. 기온별 옷차림 안내 어플인 'WW'에 데이터 바인딩을 적용해보기로 했다. WW에는 기능이 별로 많지 않아서, 화면도 별로 없다. WW의 화면은 다음과 같다. (이게 다다 ㅎ) 상단에는 현재 날씨가 하단에는 5일간의 예보가 자리를 차지하고 있다. 상단에는 현재 온도, 현재 시간, 옷 차림 정보, 날씨 아이콘 ID, 날씨 설명 데이터가 필요하다. 이전 글에서 설명했던 대로 필요한 데이터를 바인딩 해줄 수 있었다. setImageResoucre 그런데 이미지는? android:src="@{weatherViewModel.getValue.weatherIco..
- [ Android/Android ][Android] DataBinding 적용하기 - 012023-09-25 21:28:57DataBinding 프로그래매틱 방식이 아니라 선언적 형식으로 레이아웃의 UI 구성요소를 앱의 데이터 소스와 결합할 수 있는 지원 라이브러리 안드로이드 개발자라면 많이들 알고 있는 데이터바인딩! 현재 개발하고 있는 WW는, 기존에는 ViewBinding을 통해서 UI를 업데이트하고 있었는데 이후 나머지 기능들을 개발하면서 DataBinding도 같이 써보면 좋겠다고 생각해 적용을 해보았다. 알다시피 기존의 UI 업데이트 방식은 findViewById 를 통해 view를 찾고, 거기에 맞는 데이터를 업데이트 하는 방식이었다. findViewById(R.id.sample_text).apply { text = viewModel.userName } 내가 기존에 사용했던 ViewBinding은 findViewB..
- [ pinslog/Log.daily() ]Crashlytics 추가하기2023-09-24 14:58:05Firebase Console에 프로젝트가 추가되어 있다고 가정하고 글을 작성한다. 아직 프로젝트를 추가하지 않았다면 아래 링크를 참고하면 된다. 내 프로젝트와 Firebase 연동하기1. Firebase 사이트로 이동한다. 링크 2. 시작하기를 누른다. 3. 프로젝트 만들기를 클릭한다. 4. 프로젝트의 이름을 입력한다. 각 화면의 안내에 따라 프로젝트를 생성하면 된다. 5. 프로젝트 생성이 www.pinslog.com Crashlyticsfirebase에서 제공하는 초경량 오류 보고 솔루션이다. 애플리케이션을 서비스하다보면 오류가 일어나는 것은 당연한 것인데 (..) 이러한 이력을 관리해야 개선이 가능할 것이다. 이전에는 오류 로그도 따로 사내 서버에 저장하여 관리 했었기 때문에 crashlytics를..
- [ pinslog ]다시 시작2023-09-23 15:20:57별다를 것 없던 스터디 와중 루디님이 9월 23일이 되면 2023년까지 100일이 남게 되고, 이 날부터 꾸준히 무언가를 매일 하면 100일동안 하게 되는 것이라고 알려주었다. 습관을 들이는데는 보통 60일 정도 든다고 하던데 100일이면 습관을 들이고도 남는 시간이 아닌가! 하지만 정말로 매일매일 무언가를 꾸준히 한다는 것은 쉬운일이 아니다. 단적인 예로 지금 내가 글을 쓰고 있는 바로 여기 핀수로그의 Log.daily() 카테고리가 있다. ㅋㅋ.... 그래서인지 항상 얘를 보면 마음에 무게추를 얹은 것처럼...마음이 무거워졌다. 100일 기념 한번 도전해볼까 했는데 이번에도 혼자서 마음을 먹고 실행하면 왜인지 반드시 실패할 것 같았다. 그래서 또 다같이 하기로 함 어쩌다 보니 또 우리는 일을 벌였다...
- [ pinslog ]I/O Extended 2023 Cloud Busan & Busan 다녀왔다2023-09-02 21:30:39I/O Extended 2023 Cloud Busan & Busan | Festa! Festa에서 당신이 찾는 이벤트를 만나보세요. festa.io 처음으로 개발자 관련 오프라인 행사에 참여해보았다! Jetpack Compose 관련 세션을 보고 냅다 티켓을 구매해 참여했는데 다른 세션들도 흥미로웠다! (그래도 역시 'Jetpack Compose의 고급상태 및 사이드효과' 세션이 제일 재밌었다.) 생각해보니 관련 행사는 다른 곳에서도 몇번 참여해보긴 했네 아무튼 이런 행사에 갈때마다 느끼는 것은 다양한 사람들이 한자리에 모여 지식을 나누는 것은 정말 큰 힘이 된다는 것이다... 따로 대화를 주고 받는 것은 아니지만 연사의 발표를 통해, 또 그에 대해 질문을 던지는 사람들을 통해 나는 많은 걸 배운다. 동..
- [ Do what you want/집단지성의 방 ]집단지성의 방 : 1st Hackathon - Deep Into the Code2023-08-19 22:18:43작년에 왔던 집단지성의 방(이하 집지방), 죽지도 않고 올해 또 왔습니다. 😂 사실 작년에 비해 올해는 활발한 활동을 이어나가진 못했습니다. 혈기왕성 열정만땅이었던 신입에서 어딘가 한풀 시들어버린, 재미없는 직장인들이 되어버려 의욕은 자취를 감춘지 오래였죠. (는 제 얘기) 이번엔 해커톤이다 그렇게 서로의 의욕없음(?)에 대해 성토하던 어느 날, 불현듯 그런 생각이 들었습니다. 이대로 피곤한 현생 뒤에 숨기는 싫다...저번 컨퍼런스처럼 우리를 자극시킬만한 무언가를 하고 싶다! 뭐가 있지? 해커톤! 그래 해커톤을 열자! 어디서 본 건 많고 나름 그런데에 끼고 싶기도 했던 극I인 저는 해커톤도 꼭 참여해보고 싶었습니다. (캬캬) '여름에 놀러가서 같이 개발하면 재밌지 않을까? 일과 재미 모두 잡는 시간이 될..
- [ Android/Android ][Android] BLE 통신 구현하기2023-05-29 21:31:35BLE 다들 알고 있겠지만 우리가 아는 블루투스와 BLE는 약간 다르다. 블루투스 통신 프로토콜이라는 큰 카테고리안에 들어가긴 하지만 안드로이드에서 통신하기 위한 코드와 로직이 다르다는 의미다. BLE는 블루투스 4.0에서부터 채택되었으며, 기존 블루투스 기술보다 전력을 적게 소모한다. 사용하기 기존 블루투스와 거의 비슷하다. 다만 기존 블루투스에서 자주 보던 '페어링' 하는 과정이 빠져있으며, 유의해야할 점은 BLE 장치를 블루투스 설정창에서 검색하고 연결하려고 하면 버전 9이하 버전에서는 연결을 거부한다는 메세지를 볼 수 있고, 그 위로는 그냥 페어링이 되지 않는다. 1. 권한 선언 위에서 말했듯 같은 블루투스 프로토콜이기 때문에 권한 선언은 기존 블루투스를 사용하기 위해 선언해야하는 권한과 같다. ..
- [ pinslog ]GPS 정확도 개선을 위한 좌충우돌 얼레벌레 MapMatching 구현기2023-05-06 22:48:38들어가며 정말 오랜만에 글을 쓰는 것 같다. 못해도 한달에 한개는 작성하자고 마음먹었었는데 시간이 어느새... 이번에 GPS 관련하여 검토한 것이 있어 기록해두기로 했다. GPS는 그냥 WW(내 사이드 프로젝트) 하면서 날씨 정보를 받아오기 위한 하나의 단계에 지나지 않았는데... GPS..너란 녀석...어려운 녀석이였군아 나는 어쩌다 Map Matching 을 알게 되었나 위에서 말한 것처럼 GPS 관련 프로젝트에 투입되었다. 사용자의 정확한 현재 위치를 가져올 수 있는 것이 중요했다. 그러나 GPS는 절대 정확한 녀석이 아니다. 수많은 오류와 그로 인한 오차가 발생한다. 우리가 사용하는 카카오맵, 네이버지도도 가끔씩 잘못된 위치를 가리킨다. 그래서 이를 보정하기 위한 방법을 찾아나서야 했고, 이 과정..
728x90
반응형