본문 바로가기

안드로이드

ObjectAnimator ValueAnimator AnimatorSet 사용하여 동적 높이 증가와 내려오는 에니메이션 구현 AnimatorSet set = new AnimatorSet(); final int height = holder.deleteConfirmLayout.getMeasuredHeight(); ValueAnimator anim = ValueAnimator.ofInt(0, holder.deleteConfirmLayout.getMeasuredHeight()); anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { int val = (Integer) valueAnimator.getAnimatedValue(); //레이아웃 파.. 더보기
안드로이드 ImageView scaleType 정리 자료 FIT_CENTER- ImageView에서 벗어나는 쪽을 맞추어 비율을 줄인다- 가로가 크다면 넓이를 ImageView에 맞추고 그 비율만큼 높이를 줄인다*큰이미지- ImageView만큼 비율에 맞게 줄인다- height 또는 minHeight를 기준으로 가로를 줄인다*작은 이미지- ImageView만큼 비율에 맞게 맞춘다 CENTER_INSIDE- ImageView에서 벗어나는 쪽을 맞추어 비율을 줄인다*큰 이미지- 벗어나는 쪽에 맞추어 비율을 줄인다*작은 이미지- 늘리지 않는다. 원본 그대로 CENTER_CROP- ImageView에 여백이 있는 쪽을 비율에 맞게 늘리고 이미지의 중앙을 표현*큰이미지- ImageView에 맞게 줄어들고 이미지 중앙 표현*작은 이미지- 여백이 있는 부분을 비율에 맞게 .. 더보기
안드로이드 타이머 구현 자료 카운트 타이머http://www.codeproject.com/Articles/1093931/Custom-Countdown-Timer-in-Java-Android 더보기
안드로이드 크롭 구현 자료 https://github.com/IsseiAoki/SimpleCropViewhttps://github.com/ArthurHub/Android-Image-Cropper https://github.com/Yalantis/uCrop https://github.com/jdamcd/android-crop *fix picture, zoomhttps://github.com/lyft/scissors-squrehttps://github.com/adamstyrc/cookie-cutter-circle&squrehttps://github.com/jayrambhia/CropperNoCropper-squrehttps://github.com/albinmathew/PhotoCrop - circle 더보기
안드로이드 갤러리 구현 자료 갤러리 이미지, 동영상, 다중선택https://github.com/yazeed44/MultiImagePickerhttps://github.com/SimpleMobileTools/Simple-Gallery 이미지 다중선택https://github.com/darsh2/MultipleImageSelect https://github.com/zfdang/android-multiple-images-selector 더보기
안드로이드 자식뷰 강제 높이 구하기 private int getChildHeight(ViewGroup parentView) { final int measureSpecW = View.MeasureSpec.makeMeasureSpec(parentView.getWidth(), View.MeasureSpec.EXACTLY); final int measureSpecH = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int totalHeight = 0; for (int i = 0; i < parentView.getChildCount(); i++) { View childView = parentView.getChildAt(i); ViewGroup.LayoutParams p = (.. 더보기
annotation 어노테이션 @IntDef @StringDef- enum은 객체이기 때문에 메모리를 상수보다 많이 할당된다- 컴파일 시점에 변수 체크가 가능하다- enum은 .class 파일에서 문자열들이 생성되면서 문자열수 만큼 바이트가 커진다 int는 4바이트만 필요하기때문에 APK 용량을 줄일 수 있다 더보기
카카오 로그인에서 hash 구하기 public static String getKeyHash(final Context context) { PackageInfo packageInfo = getPackageInfo(context, PackageManager.GET_SIGNATURES); if (packageInfo == null) return null; for (Signature signature : packageInfo.signatures) { try { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); return android.util.Base64.encodeToString(md.digest(), android.util.Base6.. 더보기
canvas 프로그래스 이미지를 중점으로 테두리에 프로그래스 그리기https://github.com/aliab/circular-music-progressbar 프로그래스 그리기http://stackoverflow.com/questions/21333866/how-to-create-a-circular-progressbar-in-android-which-rotates-on-it https://github.com/Todd-Davies/ProgressWheel https://github.com/lopspower/CircularProgressBar 더보기
ChildeFragment에서 exit animation시 바로 없어지는 현상 처리 http://stackoverflow.com/questions/14900738/nested-fragments-disappear-during-transition-animation 더보기
앱 히스토리목록에서 앱을 실행시켰는지 유무 if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) != 0) { return; } 히스토리에서 실행된경우 true 더보기
핸들러(handler) 메모리 누수를 WeakReference 사용 이유 및 해결 방법 *번역 및 정리 글http://yoonhada.com/wp/?p=795 *원문Consider the following code:public class SampleActivity extends Activity { private final Handler mLeakyHandler = new Handler() { @Override public void handleMessage(Message msg) { // ... } }; } While not readily obvious, this code can cause cause a massive memory leak. Android Lint will give the following warning:In Android, Handler classes should be st.. 더보기
rxjava 개념잡기 UI 외의 처리는 쓰레드에서 실행되고실행이 완료된 이벤트를 받아 UI를 갱신하기때문에rxjava가 UI반응속도가 빠를수있다쓰레드를 만들기위한 추가적인 처리가 필요없다UI와 분리되어 테스트를 용이하게 개발할수 있다 *셈플rxjava-essentials 예제코드 : * rxjava 링크- https://realm.io/kr/news/kau-felipe-lima-adopting-rxjava-airbnb-android/- https://realm.io/news/kau-felipe-lima-adopting-rxjava-airbnb-android/?utm_source=Android+Weekly&utm_campaign=c1ffc42de6-Android_Weekly_198&utm_medium=email&utm_term.. 더보기
Glide 사용하기 * glide 이미지캐시 및 썸네일 사용하기https://futurestud.io/tutorials/glide-network-dependent-image-loading * gradle 속도 향상https://developer.android.com/studio/run/index.html?hl=ko https://www.liaohuqiu.net/posts/speed-up-your-build/ 더보기
MVP 패턴 개념잡기 MVP MVP is a user interface architectural pattern engineered to facilitate automated unit testing and improve the separation of concerns in presentation logic *자료http://javacan.tistory.com/entry/MVP-%ED%8C%A8%ED%84%B4-%EC%86%8C%EA%B0%9C 더보기
[안드로이드] rgb 색상표 http://foxmann.blog.me/90094801668 더보기
[안드로이드] View flipper 등록하기 1. 터치 사용 : http://www.cyworld.com/chosungirl/589618 2. 그냥 사용 : http://genieus.tistory.com/64 더보기
[안드로이드] 태스크란?(Task, Activity Stack) http://nully.net/13 더보기
[안드로이드] 탭 만들기/속성 변경하기 http://jc01rho.tistory.com/36 더보기
[안드로이드] Thread를 이용하여 UI업데이트하기 1. http://variousapp.egloos.com/1403533 더보기
[안드로이드] Activity 생성시에 사용되는 Intent Flag 정리 http://theeye.pe.kr/453 더보기
[안드로이드] 인텐트 intent 목록 1. http://blog.naver.com/PostView.nhn?blogId=hnc21&logNo=100103652374 더보기
[안드로이드] 네트워크 상태 변화 감지하기(BroadcastReceiver 사용) 1. http://snowbora.com/450 2. http://blog.naver.com/PostView.nhn?blogId=sagijame&logNo=90078842674 3. http://mainia.tistory.com/549 과정분석: http://csjung.tistory.com/entry/WiFi-Settings%EC%97%90%EC%84%9C-WiFi-Enable%EC%9D%B4-%EB%90%98%EB%8A%94-%EA%B3%BC%EC%A0%95-%EB%B6%84%EC%84%9D 더보기
[PAAD] 6장 환경설정, 상태 저장, 파일 1. 환경설정 //환경설정 만들기 getSharedPreferences(MY_PREFS, mode); //디폴트 환경설정 만들기 Context context = getApplicationContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); *표준 환경설정 액티비티 만들기 2. 상태 저장, 파일 . 더보기
[PAAD] 5장 다이얼로그 더보기
[PAAD] 5장 커스텀 어뎁터 & 리스트 더보기
[PAAD] 5장 인텐트 더보기
[안드로이드] 레이아웃 참고자료 * Relative Layout * 출처 및 다른 레이아웃 참고 http://tigerwoods.tistory.com/11 더보기
[안드로이드] 참고자료 * 버튼 투명하게 하기 android:background="#a0000000" Button btn = new Button(this) btn.setBackgroundColor(Color.TRANSPARENT); ImageButton btn = (ImageButton)findViewById(R.id.rightBtn); btn.setAlpha(180); * 안드로이드 UI 색상표 http://griper.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-UI-RRGGBB-%EC%83%89%EC%83%81%ED%91%9C * 다이얼로그 관련 http://www.androidpub.com/1585023 *리소스 사용하기 http://blog.nave.. 더보기
[PAAD] 4장 메뉴 public class ToDoList extends Activity { //메뉴 아이템을 위한 고유 ID static final private int ADD_NEW_TODO = Menu.FIRST; static final private int REMOVE_TODO = Menu.FIRST + 1; private ArrayList todoItems; private ListView myListView; private EditText myEditText; private ArrayAdapter aa; private boolean addingNew = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst.. 더보기