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

전체 글 185

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

모바일 앱 개발 챌린지 참여 후기 (feat. 프로그래머스)

이번에 프로그래머스에서 개최(?)한 모바일 앱 개발 챌린지가 있어서 참여했다. 어려운 내용은 아니었는데, 아직 생소한( 현업에서 사용하지 않은 ) Kotlin으로 개발하는 것이 필수적이었고, 이러한 챌린지 참여는 처음하기에 기대도 되고 설레기도 했다. 이번 앱 개발 챌린지에서 제공한 내용은 이렇다. 1. RESTful API를 제공하는 서버 2. API 명세서 3. icon을 다운받을 수 있는 외부 주소 4. UI 디자인을 확인할 수 있는 Zeplin 5. 앱 개발 챌린지에서 원하는 완성본을 확인하는 Proto Pie 새로운 경험이었고 재밌게 했는데 조금 불편했던것이 하나 있는데 바로 Zeplin에 제공된 UI가 iOS 기준이었다는 것이다. 분명 지원을 Android 부분으로 지원하였는데, iOS로 UI..

Story 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

Fragment 변경시 발생할 수 있는 에러. Error msg : java.lang.IllegalStateException: commit already called

이번에 업데이트 중인 앱의 UI를 변경하다가 BottomNavigationView를 사용할 일이 생겼다. BottomNavigationView를 사용하면 하단에 Tab이 있고, MainView에 Fragment가 들어가는데 Tab의 메뉴를 누르면 화면이 변경되어야 한다. 위에 이해를 돕기위해 내가 개발한 앱의 레이아웃 구조를 구현했다. FrameLayout 위에 BottomNavigationView , FrameLayout을 그리고 FrameLayout 위에 Fragment를 배치하도록 하였다. ( 기본적인 NavigationView 그리기다.. ) Menu1, Menu2, Menu3을 누르면 각각의 Fragment를 그려주는 기능이다. 잠깐 코드를 보자. bottomNavigationView.setOn..

Develop/Android 2019.11.21

그리폰! 발렌시아 성주되다!!!!

늦었지만 첫 발렌시아 공성전을 올린다.. 이때 정말 처음으로 성주버프가 제대로(?) 효율을 보던 성이었고.. 정말 빡준비 해서 들어갔었던걸로 기억한다... 내기억으로는 자체 액티브가 80명 정도로 기억하는데, 아마 많은 그리폰원들이 발렌시아 공성전에 많은 기대를 해서가 아닐까... 액티브가 정말 좋았다 지금까지 촌성, 메디아, 발렌, 칼페 모든 공성을 다 해봤지만 발렌시아가 정말 공성하는 느낌이 제대로 였던... ㅋㅋ

Game/BlackDesert 2019.11.19

Android 세로, 가로 고정하는 방법 , screenOrientation

안드로이드 앱 개발을 하면서 센서를 이용해 가로, 세로 화면을 보여주는 경우도 있고 가로, 세로로 고정하는 경우가 있다. protrait, landscape 안드로이드에서 세로뷰, 가로뷰가 존재하는데 각각 protrait, landscape로 칭한다. AndroidManifest.xml에서 설정하는 방법 이를 screenOrientation이라는 설정값으로 정의하여 제어하는데 방법은 아래와 같다. AndroidManifest.xml 이렇게 AndroidManifest.xml에서 설정하여 사용할 수 있다. portrait 값을 설정하면 세로, landscape로 설정하면 가로로 시작하고 센서로 인한 변경으로도 제어되지 않는다. JAVA 코드로 설정하는 방법 Manifest.xml에서 설정하면 아쉽게도 이벤..

Develop/Android 2019.11.19

안드로이드 http 통신 이슈 - Error : java.net.ConnectException: Failed to connect to

안드로이드 네트워크 통신을 할 때 기본적으로 매니페스트(manifest) 퍼미션(permission)을 설정해 준다. AndroidManifest.xml 이후에 http에 보안이슈가 확인되면서 https가 아닌 프로토콜에 대하여 기본적으로 동작하지 못하게 되었다. 이것은 설정을 통해 해결이 가능한데 아래 설정을 공유 하려고 한다. 설정 하는 방법 http를 가능하도록 설정하는 방법은 여러가지 방법이 있고, 이를 모두 공유하려고 한다. 1. usesCleartextTraffic="true"

Develop/Android 2019.11.14
반응형