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

Develop/Android 71

Android - Compose Codelab

이번에 GDG 에서 안드로이드 Compose DevFest2021 행사를 시작했다. 우연히 카카오톡 광고를 통해 알게되었고 바로 신청 ㄱ ( 카카오톡 광고의 재발견이랄까 .. ) 알고보니 이번에 JetPack Compose 1.0 버전 출시로 코드랩 행사를 하는 것이었다. 11월 1일 ~ 30일 동안 9개의 코드랩을 수행하고 그중 7개를 정상적으로 클리어 하면 수료되는 과정 ( 당연 무료. 구글 만세 ) 이 회사에 와서 안드로이드만 하는 것이 아니기 때문에 안드로이드 정책이나 다양한 툴의 발전에 많은 관심을 두지 못하였다 ( 사실 그전에도...ㅎ ) 하지만 이번에 이렇게 좋은 기회를 만나서 한번 해보려고 한다. 사실 아직 작성은 안했지만, 이글을 쓰는 이순간 Codelab Week1은 끝냈다.. 하하 b..

Develop/Android 2021.11.16

Android - 코로나 정책

최근에 코로나 정책 때문에 구글 플레이 스토어 배포에 아주 애를 먹었다. 구글 코로나 관련 정책 안내 우선 이 업데이트는 2021년 8월 17일에 최종 업데이트 되었다. 구글 콘솔 개발자 계정에 들어가면 새로운 앱 컨텐츠 항목이 생겼는데, 이렇게 생겼다. 즉 출시한 앱이 코로나19 관련 앱인지 확인하는 것. 현재 개발 중인 앱은 코로나 백신 접종자를 대상으로 항체검사를 진행해 항체가 있는지 여부를 확인해주는 기능과 메뉴를 제공하려고 했는데, 해당 메뉴에 '코로나19' 라는 문구가 들어가다 보니 리젝을 받았다 .. 그러면서 알게된 코로나 정책. 즉 코로나19 가지고 뭔가 기능을 제공하면 리젝이구, 코로나19 관련된 뉴스기사를 제공하거나 '코로나19'가 메인이 아닌 '코로나19 시대에 어울리는 취미' 같은 ..

Develop/Android 2021.11.09

Android - DataClass, DataBinding

DataClass 와 DataBinding을 이용한 MVVM 패턴 구현하기 첫번째 스텝이다. 먼저 DataBinding을 진행하려면 아래와 같은 설정을 해준다. 설정 project 단위의 gradle에 아래와 같은 설정을 해준다. plugins { id 'kotlin-kapt' } android { .... dataBinding{ enabled = true } } DataClass 만들기 User라는 DataClass를 만들어서 Model 형태로 사용한다. data class User( val firstName : String, val lastName : String } layout.xml 에 DataBinding 진행하기 xml 파일로 되어있는 layout 파일에 dataBinding을 해준다. 여기서..

Develop/Android 2021.06.30

Android - RSA Encrypted / Decrypted

이번에 프로젝트를 하면서 팔자에도 없는 암호화 한다고 아주 머리아팠다... 사실 지금까지의 암호화? 라고 하기에는.. 그냥 라이브러리를 갖다 쓰거나, 해당 라이브러리에서 자체적으로 암호화를 해주는 것들로 했기 때문에 디테일 하게 보지도 않았을 뿐더러... 암호화라는 이론적인 지식에 큰 관심이 없었는데 이번에 앱에서 인증서를 관리해야하는 상황이 와서 인증서 데이터를 암호화 해야하는 상황이 발생했다. 인증서는 다른 업체를 통해 받는데, 인증서를 통해서 추출한 민감데이터를 서버에 송수신할때 사용할 암호화였다. 암호화를 어떤 기법(?)을 사용해야 하는지 몰라서 이것저것 찾아보다가 결국 인증서 업체에 문의.. RSA 암호화를 사용해야 한다고 했고 바로 적용하려고 하였으나... 너무 어렵고.. 이론 공부를 좀 했다..

Develop/Android 2021.05.10

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

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
반응형