목록안드로이드 (8)
바르고 뜨겁게
안드로이드 스튜디오 최신버전을 사용해서 개발하다가 보면라이브러리 의존성 에러나 기타 문제로 인해 구버전을 사용해야될 때가 있다. 그럴땐 아래 URL에서 안드로이드 스튜디오의 구버전 (다른버전) 다운이 가능하다. https://developer.android.com/studio/archive?hl=ko 스크롤을 아래로 내려서 약관 동의 선택 안드로이드 스튜디오 2.3.2 버전부터안드로이드 스튜디오 3.0 대 버전 ~ 최신버전 까지 다운이 가능하다.
[안드로이드] 본고딕 (NotoSans) 사용시 여백 (padding) 문제안드로이드에서 본고딕 (NotoSans) 사용시 상하 여백이 크게 생겨서 레이아웃이 틀어진다.그때는 아래와 같이 setIncludeFontPadding 를 false 처리해주면 된다.xml java protected void init() { setTypeface(getTypeface(), getTypeface().getStyle()); setIncludeFontPadding(false); } 본고딕 (Notosans) ttf , otf 다운 로드https://www.google.com/get/noto/#/family/noto-sans-kore
1. 안드로이드 RETROFIT2 사용레트로핏이란?http 서버통신을 쉽게 사용할 수 있게 해주는 안드로이드 라이브러리.https://academy.realm.io/kr/posts/droidcon-jake-wharton-simple-http-retrofit-2/ 레트로핏2 라이브러리 의존성 추가build.gradle(app) implementation 'com.squareup.retrofit2:retrofit:2.4.0' implementation 'com.squareup.retrofit2:converter-gson:2.4.0' implementation 'com.squareup.retrofit2:converter-scalars:2.4.0' 레트로핏 공통 처리를 위해 RetrofitCommunicatio..
글라이드 라이브러리를 사용함에도 OOM(아웃오브메모리)를 만나게될때가 있다.그럴땐 아래와 같이 처리해주면 아웃오브메모리를 해결할 수 있다. 1. Activity를 상속받는 class 에서 아래 코드를 추가한다.@Override public void onLowMemory() { super.onLowMemory(); Glide.get(this).clearMemory(); } @Override public void onTrimMemory(int level) { super.onTrimMemory(level); Glide.get(this).trimMemory(level); } 2. Adapter 내에서 Glide를 사용할경우 Glide를 재사용한다.2-1. adapter 생성시 Glide 객체를 넘겨준다...
화면을 렌더링하는 Activity java에서 AsyncTask 처리를 할경우처리 후 onPostExecute가 호출되는 시점을 관리하기가 까다롭다. EX) 서버 통신 후 TextView에 setText를 하는 경우 사용자가 화면을 이동하여 setText를 못하는 경우 앱이 죽는다.같은 메서드라도 화면마다 호출해야 되기 때문에 유지보수에 어려움이 있다. EX) A화면에서 login 처리, B화면에서 login 처리, C화면 ... 일경우 수정이 일어나면 일일히 모든 Activity java에서 수정을 해야한다. 따라서 브로드캐스트 리시버를 이용한 아래와 같은 방법으로 서버 통신 로직을 분리 할 수 있다. 1. 렌더링할 Activity java 에서 브로드캐스트 리시버를 생성한다.// 브로드 캐스트 리시버..
안드로이드 스튜디오로 작업을 하다보면 가끔 Fatal signal 6 (SIGABRT), code -6 in tid ... 라며 빌드가 안되거나 정상 빌드가 됨에도 불구하고, 코드가 빨간줄이 나오거나 import 에러 등등이 발생하는 경우가 있다. 그럴경우 간단하게 해결가능하다. File > Invalidate Caches > Invailidate and Restart
[안드로이드] 리사이클러뷰(RecyclerView) 높이(Height) 동적 변경 특정 상황에서 RecyclerView의 높이를 android:layout_height="wrap_content" 했을때높이가 첫번째 항목의 높이만 차지하고 모든 아이템이 표시되지 않는 경우가 있다. 그럴땐 아래와 같이 처리하면 된다.
안드로이드에서 카카오톡 로그인이라던가 페이스북로그인 등 API를 사용하기 위해선키해시를 해당 사이트에 넣어줘야 한다. 키해시 얻는 방법 (debug keyhash, release keyhash, googlePlay keyhash) 디버그 키해시1. IDE 사용 public String getKeyHash(final Context context) { PackageInfo packageInfo = Utility.getPackageInfo(context, PackageManager.GET_SIGNATURES); if (packageInfo == null) return null; for (Signature signature : packageInfo.signatures) { try { MessageDigest..