하루에 0.01%라도 성장하자
반응형

Develop 122

Android - ActivityBindingImpl error: cannot find symbol

나처럼 데이터바인딩을 처음 하면 자동으로 생성되는 클래스 등에 대한 이해가 낮다 따라서 나도 약 20분 정도 제목과 같은 이슈로 고생했는데 사실 나는 내 실수로 그렇게 되었고... 어찌 되었든 정보를 공유하고자 글을 쓴다. 내가 다른 블로그의 글을 따라서 하다가 최종적으로 실행을 할때 겪은 에러 error: cannot find symbol import com.cleancode.android_espresso_test.databinding.ActivityMainBindingImpl 나는 ActivityMainBindingImpl 이라는 것을 생성한 적이 없는데 느닷없이 이런 에러가 발생하여 꽤나 당황하였다. 해당 원인을 해결하는 방법은 대표적으로 3가지가 있다. 1. clean Project 2. rebu..

Develop/Android 2021.04.08

Android - Data Binding

Kotlin 을 이용한 Data Binding을 위한 셋팅 데이터 바인딩은 넓은 호환성을 위해 Android 2.1 이상(API level 7)에서 사용할 수 있도록 되어 있음. ( 엄청난 호환성.. ) 1. 세팅 plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' } .... dataBinding{ enabled = true } Module level의 Gradle에 위와 같은 설정을 해준다. MainActivity에 버튼을 하나 만들어서 로그를 출력하는 형태로 개발 activity_main.xml 의 경우 기본 설정되는 layout을 감싸는 형태로 layout을 써줘야 한다. 말이 이상한데 아래 코드를 보고 확인 위 ..

Develop/Android 2021.04.08

Android - USB 없이 Wifi로 디바이스로 디버깅 하는법

회사 vpn이 별로라서 ( USB 연결 해지 하면 VPN 끊김 ) USB를 연결하지 않고 디버깅 하는 법을 검색했다. 생각보다 많은 사람들이 쓰고 있었는데, 검색하면서 든 생각은 ' 아 생각보다 나는 adb와 친하지 않구나.. ' 싶었음. 각설하고 USB 없이 wifi 로 디바이스를 연결하여 디버깅 하는 법을 기록한다. * 기본적으로 adb 설치, 환경변수가 등록되어 있어야 편합니다. 1. 기기 USB 연결 ( 마지막 연결 ㅋ ) 2. cmd or terminal 열기 3. adb tcpip 5555 // 5555 포트 열기 4. USB 연결 해지 5. 와이파이 연결된 디바이스 아이피 확인 - 설정 -> 와이파이 -> 와이파이 상세 -> 아이피 확인 6. adb connect '확인된 ip ' - ex)..

Develop/Android 2021.02.15

Git - branch remote push

Git을 이용해서 신규 branch를 생성하면 우선 로컬에만 생성된다. 이를 연결되어 있는 remote에도 생성하여 다른 사용자와 공유 + 관리를 진행해야 한다. command 는 아래와 같다. // create new branch // branch name is ddunnim git branch ddunnim // ddunnim branch 생성 git branch -a // git branch 목록 보기 git checkout ddunnim // ddunnim branch 로 checkout 하기 git push --set-upstream origin ddunnim // ddunnim branch 를 remote에 push 이후에는 git push만 해도 된다. 처음에만 --set-upstream 처..

Develop/Git 2021.02.01

Android - FCM Background Screen On

하 이거 때문에 몇시간을 고생했는지 모른다.. 나같은 경우는 FCM을 이용해서 Notification 을 발생하는데 Background 상태 + Screen OFF 상태에서는 알람이 발생하지만 Screen On이 되지 않는 이슈가 있었다. Screen On이 되려면 onMessageReceived 메소드 안에 PowerManager를 이용해서 폰을 Wake Lock 해주어야 하는데 해당 로직을 타지 않았던 거지.. 확인해보니 서버에서 FCM에 Push를 요청할 때 dataPayload 형태로 요청해야만 하더라.. 즉 서버에서 notification : { title : "테스트", body : "테스트" } 이렇게 보내는게 아니라 data : { title : "테스트", body : "테스트" } 이렇..

Develop/Android 2021.01.12

Android - TYPE_STEP_COUNTER, TYPE_STEP_DETECTOR

SensorManager를 이용한 걸음 수 체크를 하는 앱을 개발하기 위해서 두가지 센서에 대한 특징 파악이 필요하다. TYPE_STEP_COUNTER 특징으로는 핸드폰이 켜진순간 부터 현재까지 누적된 카운트를 보여준다. 따라서 서비스(Service)를 이용한 백그라운드 앱실행을 하면서 센서 수치를 측정될 때마다 측정할 필요는 없다. 센서가 자동으로 누적되기 때문. 다른 특징으로는 핸드폰을 껐다가 다시 키면 수치가 0으로 초기화 된다. 다만 하루치의 걸음 수를 측정하려면 계산이 필요하다. 계산하는 법은 1. 앱이 실행되면 현재 센서 수치를 저장한다. ( previousStep ) 2. 00시나 23시 59분에 센서 수치를 한번 더 측정한다. ( currentStep ) 3. 현재수치에서 저장한 수치를 뺀..

Develop/Android 2020.12.27

Android - Google Fit. 정말 이게 Google 이라고 ?

프로젝트를 진행할 때 Google fit을 연동해야하는 상황이었는데.. 정말 정보가 없었다. developers.google.com/fit/?hl=ko Google Fit | Google Developers Google Fit is an open ecosystem that makes it easy to store, access, and manage fitness data. developers.google.com 진짜 개발하면서 제일 힘들었던 부분이기도 하다.. 개발하면서 힘들었던 점을 아래와 같이 공유한다. 안드로이드를 위한... 먼저 제공되는 API는 두개인데 Android SDK, REST API 이렇게 두개다. 즉 iOS를 위한 API는 없다. 여기까지는 OK 난 안드로이드 개발자니까 개꿀이군! 하..

Develop/Android 2020.12.15

Android - 날짜가 변경될 때 발생하는 이벤트.

이번 프로젝트에서 날짜가 변경될 때 이벤트를 전달 받아 특정한 코드를 실행시켜야 하는 업무가 주어졌다. 날짜가 변경되었을 때 발생하는 이벤트는 아래와 같다. android:name="{.receiverClassName}" android:enabled="true" android:exported="true" > receiverClassName 영역에 상속받은 receiver를 등록해주거나, 아니면 생성해서 registerReceiver를 이용해 등록해주면 된다. 여기서 주목해야 하는 점은 이부분인데, 이 action이 device 기반으로 날짜가 변경되면 발생하는 이벤트이며, receiver에 이것을 등록해주므로써 이 이벤트를 받아 특정한 코드를 실행 시킬 수 있다. 다만! 제일 크리티컬한 이슈는 수동으로 ..

Develop/Android 2020.12.15

Android - Bluetooth 는 위치권한이 필요하다.

프로젝트를 진행하다가 Bluetooth를 연결해야 하는 상황이 있었다. 다른 프로젝트에서 사용한 샘플코드를 전달 받았고, 해당 코드에는 블루투스 스캔을 시작하기 전에 위치권한을 요청하여 받았다. 다른 프로젝트에서 사용된 블루투스는 블루투스를 이용하여 위치적으로 어떠한 서비스를 하는 줄 알았고, 나는 이를 내 프로젝트에 적용하면서 위치권한 요청을 뺐다. 그랬더니 스캔이 안돼... 한 3시간 정도 삽질하다가 확인해 보니 블루투스를 사용하려면 위치권한을 요청해야 한다는 것을 알게되었다.. 그리고 나와 같이 생각하는 사람이 많은것 같았다. 블루투스를 사용하는데 왜 위치권한이 필요한거야? 그리고 찾은 글. 이글을 보고 '필요할 수도 있겠다' 라는 생각이 들었다. ( 이글도 읽어보면 이해가 된다. ) 글의 내용을 ..

Develop/Android 2020.12.14
반응형