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

Develop/Android 71

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

Android App to App 통신에 관하여 - scheme

안드로이드 앱개발을 하면서 앱투앱 통신을 해야할 때가 있습니다. 예를 들면 A앱에서 B앱을 통해 인증을 받고 다시 A앱으로 돌아오는 로직을 갖는 ( KT PASS 같은.. ) 절차에서 사용됩니다. 이때 안드로이드에서 사용할 수 있는 선택지는 꽤 많습니다. 1. ContentProvider 2. BroadCastReceiver 3. Intent 4. Scheme 이 중에서 Scheme에 대한 내용을 작성하고자 합니다. 앱투앱 통신에 대한 설명이다 보니 두가지 앱이 존재합니다. 따라서 편하게 아래와 같이 명시하고 진행하겠습니다. A앱 : 호출 하는 앱 B앱 : 호출 당하는 앱 ex ) A앱이 B앱을 호출하였... scheme의 형태 scheme은 스킴, 스키마 등으로 명칭되고 있습니다. scheme://ac..

Develop/Android 2020.08.05

Android - TextView Default Padding 조절. includeFontPadding

안드로이드 앱에 폰트를 적용하면 폰트에 따라서 아래와 같은 상황이 발생한다. 먼저 위의 레이아웃 배치를 보자. 위의 레이아웃은 TextView를 vertical 형태로 적용하였다. TextView 사이에 별도의 margin 처리를 하지 않았다. 그런데 실제로 폰트를 적용하면 아래와 같은 형태로 노출된다. 해당 폰트는 NotoSansCJKKR_Black이다. TextView 사이에 margin이 없는데도 불구하고 실제로 데이터를 받아 적용하면 저렇게 margin 처럼 노출이 되는문제가 발생하였다. 이것은 폰트가 가지고 있는 TextView가 자체적으로 가지고 있는 padding 값으로 폰트가 변경되면서 눈에 띄게 padding이 적용되었고, 이전 포스팅에서 언급한 lineSpacingExtra 같은 값으로..

Develop/Android 2019.12.27

Android - Glide Radius (feat. ImageView radius error! )

ImageView를 사용하는 많은 프로그래머들이 디자이너의 요청으로, 혹은 개인의 취향으로 이미지에 radius 처리를 많이 한다. 그 대표적인 예가 SNS에 노출되는 프로필 이미지 라던가, RecyclerView 에 노출되는 List 형태의 itemView에 ImageView가 있다면 radius 처리를 해주는 것이 보기 좋다는게 이유이다. 위 이미지처럼 모서리 부분에 radius 처리를 하는 경우도 있고 아예 Circle 형태의 이미지를 만들기도 한다. Google 검색을 하면 대부분 아래와 같은 솔루션을 준다. //1. radius xml파일을 만든다. //2.ImageView에 적용해준다. GradientDrawable drawable= (GradientDrawable) context.getDra..

Develop/Android 2019.12.23

Android - line Height 계산법 ( lineSpacingExtra, lineSpacingMultiplier

이번에 앱개발을 하면서 제공받은 zeplin에 lineHeight 값을 넣어야 하는 상황이었다. 음..안드로이드의 경우 lineHeight라는 옵션은 API 레벨 28 이상에서만 사용할 수 있는 옵션인데, 아직은 API 27 이하의 앱이 많기 때문에 lineHeight 보다는 lineSpacingExtra나 lineSpacingMultiplier 옵션을 사용한다. 그런데 문제는! 이 옵션이 zeplin에서 보여주는 lineHeight 수치를 그대로 넣으면 안된다는 것이다.! ( 나도 이번에 알았다 .. ) 역시나 구글링을 통해서 알게됬고 해당 방식대로 적용해본 결과 zeplin에서 보여주는 UI를 만들 수 있었다. 즉 lineHeight 값이 19이고 textSize가 15이면 우리가 설정해주어야 하는 ..

Develop/Android 2019.12.20

Android Glide Error - java.lang.IllegalStateException: GeneratedAppGlideModuleImpl is implemented incorrectly. If you've manually implemented this class, remove your implementation. The Annotation processor will generate a correct implementation.

Glide를 사용하면서 발생한 Error를 공유한다. 내가 사용하던 Glide는 버전이 낮아서 발생한 사례로 아래와 같은 방법으로 해결하였다. proguard 부분이 조금 생소했는데, 큰 어려움 없이 설정하였다. [ 관련 사이트 ] https://gitmemory.com/issue/bumptech/glide/2821/538942931 GeneratedAppGlideModuleImpl is implemented incorrectly Ask questionsGeneratedAppGlideModuleImpl is implemented incorrectly When I added proguard-rules to my project I faced this exception : java.lang.IllegalSta..

Develop/Android 2019.12.20

Android font 적용, 변경하기!

나는 디자인적인 감각이 많이 없는것 같다... 후.. 어플을 만들거나 영상을 만들 때 가장 신경쓰이는 것이 글씨체. 신경은 쓰이지만 잘 못함.. 최근 만들어 놨던 개인 앱의 폰트를 변경하면서 간단하지만 글을 남긴다. 글씨체 선택 내가 선택한 폰트는 '티몬 몬소리체'. 약간 고딕체? 느낌 나는 글씨체를 원했는데, bold처리를 하지 않아도 충분히 굵은 글씨체이며 끝이 둥그스름한게 딱 내스타일.. 한동안 이거 쓸거 같음.. 관련 링크는 아래에 남긴다. https://brunch.co.kr/@creative/32 티몬 글꼴 무료 배포 티몬 전용 글꼴 2종을 무료로 다운받아 보세요. (딩벳버전 업데이트) | 1. 티몬이 드리는 첫 번째 선물 : 티몬 몬소리체 티몬 몬소리체는 우리가 잊고지낸 몬스터 세계의 언어 ..

Develop/Android 2019.12.03

Stack , Queue, Heap 의 구조와 메모리 영역에 대한 이해

최근들어 프로그래밍에 알고리즘과 자료구조의 중요성을 느낀다. 확실히 한단계 더 높은 개발자가 되려면 기초가 중요하고 알고리즘과 자료구조의 중요성이 더욱 강해지는 것 같다.. 주변 개발자를 보면, 자료구조 같은 기초적인 것들을 잘 알고 있는 개발자는 업무상 사용하던 언어와 다른 언어를 사용할 때 퍼먼스가 다르다. 그런의미에서 오늘은 조금은 기초적인 이야기를 해볼 예정이다. Stack Stack은 LIFO( Last In First Out ) 구조다. 제일 처음에 들어간 데이터는 제일 마지막에 나온다. Queue Queue는 FIFO( First In First Out) 구조다. 데이터가 들어간 순서데로 나간다. Heap Heap은 완전이진트리 형식으로 되어 있다. 위에서 아래로 왼쪽에서 오른쪽으로 데이터가..

Develop/Android 2019.11.29
반응형