글

라벨이 android인 게시물 표시

안드로이드 스튜디오 레이아웃 프리뷰에서 한글 깨짐 개선 방법

윈도우 기준 Android Studio\plugins\android\lib\layoutlib\data\fonts\fonts.xml 파일 열기 아래와 같이 내용 추가함     <family lang="ko">         <font weight="400" style="normal" index="1">NotoSansCJK-Regular.ttc</font>     </family>     <family lang="und-Zsye">         <font weight="400" style="normal">NotoColorEmoji.ttf</font>     </family>     <family lang="ko">         <font weight="400" style="normal" index="1">NanumGothic.ttf</font>     </family>

안드로이드 람다 적용하기

이미지
안드로이드 람다 적용하기 안드로이드에서 람다를 적용하는 방법을 정리한다. 현대의 컴파일러는 충분히 똑똑해졌다. 문장의 종결인 세미콜론(;)도 필요 없어 지고 심플한 코드를 작성하여 가독성이 더 좋은 코드를 작성할 수 있게 되었다. 자바는 타 언어에 비해 세련되지 못한듯 하지만 버전 업이 되면서 문법의 빈약함을 차츰 보완해 내는 듯 한다. 자바 8부터 람다라는 코드 규칙을 지원한다. 람다가 무엇인지 또 어떤 장점이 있는지 요약 한 후 안드로이드에 적용하는 방법을 기술하고자 한다. 람다에 대해 잘 설명한 글이 있어 링크를 첨부한다. http://www.hanbit.co.kr/network/view.html?bi_id=1961 글에서 람다를 사용하는 이유의 핵심은 아래와 같다. 비즈니스 로직 하나를 위해 틀에 박힌 코드와 의미 없는 구현을 하게 만드는 것이다. 코드를 작성하다보면 러시아 인형인 마트료시카같은 느낌이 들 때가 있다. 특정 비즈니스 로직을 한 줄 추가하기 위해 코드 블럭을 작성하고 그 내부 블럭을 다시 작성하여 모든 껍데기가 완성되면 비로서 비즈니스 로직 한 줄을 추가하여 코드를 완성한다. 별 의미도 없는 틀에 박힌 코드를 작성하고 정작 필요한 코드는 1줄로 끝날때 그 허무함을 달래줄 수 있는 대안이 람다이다. 전체적인 코드의 불필요한 분량을 효율적으로 줄여 가독성을 대폭 향상 시켜줄 수 있는 대안 또한 람다이다. 안드로이드에서 사용하기 위해서는 Gradle Plugin을 설정해야 한다. https://github.com/evant/gradle-retrolambda build.gradle 파일에 다음과 같이 추가한다. buildscript { repositories { mavenCentral() } dependencies { classpath ' me.tatarka:gradle-retrolambda:3....

Custom Activity On Crash library

이미지
Custom Activity On Crash library 앱 크래시 OS 다이얼로그를 커스텀 다이얼로그로 변경 https://github.com/Ereza/CustomActivityOnCrash 앱 크래시가 발생하였을 때 시스템 다이얼로그를 대신해 커스텀 엑티비티를 호출한다.

butterknife

butterknife butterknife로 리소스 바인딩을 쉽게 하자. https://github.com/JakeWharton/butterknife 안드로이드에서 리소스를 사용하려면 findById 메소드를 이용하거나 getResource를 이용하여 바인딩한다. 사용에는 불편이 없으나 이러한 방법은 소스가 너저분해지고 전체적으로 분량도 늘어 가독성이 떨어지며 소스 라인의 수도 증가하여 간결함을 유지하기가 어려워진다. 내부 로직과 유관하기 보다 리소스와 바인딩을 위한 과정이므로 생략을 할 수 있다면 소스가 더 깔끔하게 관리가 될 수 있다. class ExampleActivity extends Activity { @Bind ( R . id . user) EditText username; @Bind ( R . id . pass) EditText password; @BindString ( R . string . login_error) String loginErrorMessage; @OnClick ( R . id . submit) void submit () { // TODO call server... } @Override public void onCreate ( Bundle savedInstanceState ) { super . onCreate(savedInstanceState); setContentView( R . layout . simple_activity); ButterKnife . bind( this ); // TODO Use fields... } } butterknife는 위와 같이 Annotation을 이용하여 내부적으로 리소스 바인딩을 진행해 준다.

구글 플레이에100Mb 이상의 파일 업로드

구글 플레이 100Mb 이상의 앱을 올릴 때 용량 제한으로 업로드 제한이 걸립니다. 구글 플레이에 업로드 제한을 아래와 같은 조건으로 우회 할 수 있습니다. 구글 플레이에 100Mb apk 파일을 업로드 추가 main 2Gb 이하의 obb 파일 생성 추가 patch 2Gb 이하의 obb 파일 생성 ------------------------------------------------------------------------- 총 4.10Gb 파일 업로드 이제부터 자세히 용량을 올리는 방법을 알아봅니다. obb 파일을 생성합니다. obb 파일은 크게 2가지 타입으로 생성 할 수 있습니다. main 변화가 거의 없는 확장 파일은 main 영역에 추가합니다. patch 변화가 많은 파일은 patch 영역에 추가합니다. 생성 네이밍 룰은 [main|patch].[expansion-version].[package-name].obb 예를 들어 com.coolsharp.example 이라는 앱이 버전코드 1이라면 main.1.com.coolsharp.example.obb jobb 파일 생성 obb 파일은 누구나 접근이 가능하므로 암호화를 지원하는 jobb 파일로 생성함 jobb 는 구글 안드로이드 라이브러리에 포함되어 있음 jobb [- d <directory> ][- o <filename> ][- pn <package> ][- pv <version> ] \       [- k <key> ][- ov ][- dump <filename> ][- v ][- about ] $ jobb - d / temp / assets / - o my - app - assets . obb - k secret - key - pn com . my . app . package - pv 11 Opt...

안드로이드 스튜디오를 설치 후 필수로 사용되는 플러그인

이미지
안드로이드 스튜디오 설치 후 필수 플러그인 목록 안드로이드 스튜디오를 설치 후 필수로 사용되는 플러그인을 다음과 같이 정리하였습니다. 1.  StringManipulation 문자열을 유용하게 처리해 준다. 주소 :  https://plugins.jetbrains.com/plugin/2162 자세한 사용법은 아래 그림을 참고하자. 2. Android Studio Prettify 안드로이드 개발자라면 누구나 알겠지만 레이아웃 xml을 만들고 코드에서 해당 뷰를 제어하려면 findByViewId라는 단순 무식한 반복 작업을 해야만 한다. 누군가 대신 작업해줄 수 있다면 알바라도 고용해서 시키고 싶지만 다행히 누군가 같은 생각을 하여 그 작업을 해주게 플러그인으로 만들었다. 주소 : http://plugins.jetbrains.com/plugin/7405 자세한 사용법은 아래그림을 참고하자. 3. GradleDependenciesHelperPlugin Gradle Dependencies 추가시 자동으로 완성한다. 주소 :  https://github.com/ligi/GradleDependenciesHelperPlugin 4.  simpleumlce 클래스 다이어그램을 생성해주는 플러그인이다. 주소 :  https://plugins.jetbrains.com/plugin/4946-simpleumlce

mac에서 안드로이드 리소스 자동 청소하기

mac에서 안드로이드 리소스 자동 청소하기 1. python 설치하기 2. android-resource-remover 설치하기 pip install android-resource-remover 3. 린트 실행 lint . --xml ./lint-result.xml 4. android-resource-remover

eclipse android git ignore 설정

*~ .DS_Store *.prefs *.class # built application files *.apk *.ap_ # files for the dex VM *.dex # Java class files *.class # generated files bin/ gen/ # Local configuration file (sdk path, etc) local.properties # Eclipse project files .classpath .project # Proguard folder generated by Eclipse # proguard/ # Intellij project files *.iml *.ipr *.iws .idea/

이클립스 Android SDK: resolving error markers 에러가 날때 대처법

이클립스 설치 폴더로 이동 eclipse -clean -refresh 명령 실행

애니메이션 텍스트 뷰

    private void countDown(final TextView tv, final int count) {         if (count == 0) {             tv.setText(""); // Note: the TextView will be visible again here.             return;         }         tv.setText(String.valueOf(count));         AlphaAnimation animation = new AlphaAnimation(1.0f, 0.0f);         animation.setDuration(1000);         animation.setAnimationListener(new AnimationListener() {             public void onAnimationEnd(Animation anim) {                 countDown(tv, count - 1);             }         ...

xxhdpi를 기준으로 작업 하였을 경우 포토샵 리사이징 비율 정리

xxhdpi를 기준으로 디자인 작업을 하였을 때 포토샵 리사이징의 기준 ldpi | mdpi | tvdpi | hdpi | xhdpi | xxhdpi | xxxhdpi 0.75 | 1 | 1.33 | 1.5 | 2 | 3 | 4 ldpi | mdpi | tvdpi | hdpi | xhdpi | xxhdpi | xxxhdpi 0.25 | 0.34 | 0.45 | 0.5 | 0.67 | 1 | 1.34

안드로이드 화면 정리

이 자료는  http://stackoverflow.com/questions/11581649/about-android-image-size-and-assets-sizes  에서 참고하였습니다. mdpi  는 기준 밀도입니다.  mdpi  에서 1 px 는  1 dip 와 같습니다. 비율은 아래 표를 참고하세요. ldpi | mdpi | tvdpi | hdpi | xhdpi | xxhdpi | xxxhdpi 0.75 | 1 | 1.33 | 1.5 | 2 | 3 | 4 아이콘 크기는 아래 표를 참고하세요. ldpi | mdpi | tvdpi | hdpi | xhdpi | xxhdpi | xxxhdpi 36 x 36 | 48 x 48 | 64 x 64 | 72 x 72 | 96 x 96 | 144 x 144 | 192 x 192 픽셀 밀도는 아래 표를 참고하세요. ldpi | mdpi | tvdpi | hdpi | xhdpi | xxhdpi | xxxhdpi 120 | 160 | 213 | 240 | 320 | 480 | 640

Pull To Refresh Views for Android

이미지
안드로이드 리스트뷰의 Pull To Refresh 기능은 다양한 서드파티 뷰들이 공개되어 있습니다. 하지만 지금까지 공개된 Pull To Refresh 서드파티 뷰 중 가장 훌륭한 뷰는 아래 소개시켜 드리는 뷰 입니다. ListView ExpandableListView GridView WebView ScrollView HorizontalScrollView ViewPager https://github.com/chrisbanes/Android-PullToRefresh

Android DirectionalViewPager

이미지
안드로이드 뷰 페이지는 기본이 가로 플리핑 입니다. 이 모듈을 사용하면 뷰 페이지가 세로 플리핑이 됩니다. https://github.com/JakeWharton/Android-DirectionalViewPager

JazzyViewPayer

안드로이드 ViewPager의 전환 효과를 보다 편하고 화려하게 꾸며주는 멋진 소스 입니다. 다음과 같은 효과로 페이지 전환 효과를 줄 수 있습니다. Standard Tablet CubeIn CubeOut Flip Stack ZoomIn ZoomOut RotateUp RotateDown Accordion 다음 주소에서 다운로드 받으실 수 있습니다. https://github.com/jfeinstein10/JazzyViewPager  

ImageView 비율 유지

안드로이드에서 ImageView 속성 중  setAdjustViewBounds 라는 것이 있다. 비율을 자동으로 맞춰주는 편리한 속성인데 매번 작동이 안되어서 30분 40분을 소비하다 결국 "아 이래서 안되었지. 예전에도 이것 때문에 삽질 했는데..."라며같은 감탄을 한다. 잊지말자. setBackgroundDrawable가 아닌 setImageResource로 이미지를 불러와야 한다. 배경이니까 비율이고 뭐고 다 무시한것이다.

mac 에서 안드로이드 환경변수 저장하기

mac에서 안드로이드 환경변수를 저장하기 위해서는 다음과 같은 절차가 필요함 터미널을 열음 입력 : touch .bash_profile 입력 : open -e .bash_profile 메모장에 다음 내용을 타이핑 export ANDROID_SDK_ROOT="/Applications/eclipse/android-sdk-mac_x86" PATH="$PATH:$ANDROID_SDK_ROOT/platform-tools"

안드로이드 프로그래밍 시 px–> dip 변환을 도와주는 사이트

이미지
오늘 발견한 아주 좋은 웹 사이트 입니다. http://labs.skinkers.com/content/android_dp_px_calculator/

구글 맵 인증서 키 md5로 얻기

JDK 1.7 부터 keysotore Fingerprint가 기본 SHA1으로 발급 된다.   해당 문제를 해결하기 위해 다음과 같이 명령어를 쓰면 MD5 정보도 볼 수 있다.   keytool -list -v -keystore debug.keystore   http://code.google.com/intl/ko-KR/android/maps-api-signup.html   사이트에서 생성된 MD5를 이용하여 API 키를 발급 받으면 된다.

ADT 14 이후 Google APIs 항목이 설치되지 않는 문제 해결

이미지
ADT 14 이후 자동으로 설치되었던 Google APIs가 항목에 보이지 않는 문제가 발생하였습니다. 1시간 넘게 삽질 중 원인을 찾았습니다. Tools>Manage Add-on Sites… New http://dl-ssl.google.com/android/repository/addon.xml 입력