Android 에서는 activity 간 데이터를 전달하기 위해 인텐트에 데이터를 추가한다. 전달할 데이터가 class 인 경우 Serializable or Parcelable 을 사용하거나 Bundle 을 이용해 객체 직렬화를 해야한다. 이번 포스팅에서는 객체 직렬화에 대해 알아보자. 직렬화 & 역직렬화 ◼ 직렬화 (Serialize) 자바 시스템 내부에서 사용되는 Object 또는 Data를 외부의 자바 시스템에서도 사용할 수 있도록 byte 형태로 데이터를 변환하는 기술. JVM(Java Virtual Machine 이하 JVM)의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기술 ◼ 역직렬화 (Deseialize) Byte 로 변환된 data를 원래대로 object..
Android 개발을 하다 보면 하위 버전 호환을 위해 Android OS 에 포함된 API 외 하단과 같은 구글이 별도로 제공하는 Support Library 를 필수로 사용하게 된다. 이렇게 써오던 Support Library 는 v4, v7, v13 등과 같이 아주 모호한 버전명을 사용해 왔다. 각 버전의 의미는 api-4, 7, 13 을 뜻하지만 v13 이 v4 를 포함한 더 최신버전이라고 오해할 수 있으니 말이다. 더욱이, support v4 의 경우 24.2.0 에서 api 8 이하 지원을 중단하면서 더이상 api-4 가 아니게 된다. 이번 포스팅에서는 이런 복잡하고 모호한 버전 규칙의 해결책으로 나온 AndroidX 에 대해 알아보자. Android Jetpack AndroidX 를 알아보기..
앱 개발을 하다보면 간혹 특정 부분만 변경해(앱 이름, 앱 아이콘, debug version ......) 여러 APK 가 필요한 경우가 있다. 이런 경우 가장 간단하게는 copy & paste 로 프로젝트를 여러개 관리하면 되지만 gradle 을 이용한다면 쉽게 이런 일들을 처리할 수 있다. 이번 포스팅에서는 gradle 을 이용하여 여러가지 버전을 만드는 방법에 대해 알아보자. Build Variants BuildTypes + ProductFlavors 하나의 앱에 여러가지 빌드를 할 수 있다. BuildTypes 개발 단계에 따라 달라지는 부분을 명시한다. (ex: alpha, beta, release) 안드로이드 스튜디오로 프로젝트를 생성하면 gradle 은 기본적으로 debug, release ..
안드로이드 M(6.0, SDK 23) 부터 앱이 백그라운드로 처리하는 작업을 막아 배터리 소모를 줄이는 최적화 기능이 들어있다. 배터리 소모를 줄이는 것도 좋지만 앱의 작동에 문제가 되는 경우도 많다. 이번 포스팅에서는 배터리 최적화 무시방법을 알아보자. How to 배터리 최적화 정책은 기본적으로 전체 어플이 대상이 된다. 이 중 필요한 어플을 최적화 정책에서 제외하는 형태인 화이트 리스트 방식을 사용한다. 즉, 배터리 최적화에서 제외하기 위해서는 화이트 리스트에 등록하면 된다. 참고로, 화이트 리스트 등록 외 하단의 방법도 있다. - 알람 매니저 활용 특정 기능을 수행하기 위해 알람 매니저의 특정 API 를 사용하여 어플 이나 기기를 깨운다. - FCM 활용 Firebase 의 push message..
Android 는 XML 을 통해 다국어를 지원할 수 있다. 이번 포스팅에서는 XML 을 통한 다국어 지원 방식에 대해 알아보자. How to XML 을 통한 다국어 지원방식은 기본 언어에 작업 해주고 나머지 지원할 언어를 추가하면 된다. ◼ 기본 언어 설정 res/values ◼ 추가 언어 설정 res/values-ko (한글) res/values-jp (일본) ◼ 번역 할 수 없는 문자열 프로젝트에 따라 번역이 필요 없는 문자열이 있을 수 있다. 이런 경우는 기본에만 저장하고 translatable 속성을 false 로 하면 된다. Rule 하단과 같은 규칙으로 xml folder 를 만든다. 구성 한정자 설명 예제 언어 ko, en, jp, fr, es 등 두 글자의 ISO639-1 언어코드 res..
Android 6(API 23) version 부터 resource 를 통한 getColor, getDrawable 이 deprecated 되었다. 이번 포스팅에서는 deprecated 된 getColor, getDrawable 에 대해 알아보자. Old (~Android API 22) ◼ Android 5.1(API 22) 까지는 하단과 같이 resource 를 통한 getColor, getDrawable 을 사용해 왔다. New (Android API23~) ◼ Android 6(API 23) 부터는 하단과 같이 ContextCompat 을 통하여 getColor, getDrawable 을 사용하면 된다. (com.android.support:support-appcompat 을 추가하면 Context..
지난 Shape Drawable 포스팅에 이어 이번 포스팅에서는 Shape Drawable 의 색을 동적으로 변경해보자 How to ◼ Shape xml 생성 ◼ 하단과 같이 ImageView 의 background 를 Shape 로 지정 ◼ Shape color 를 변경하기 위해 하단과 같이 GradientDrawable 을 이용한다. Source code https://github.com/parkho79/ShapeDrawableDynamicColor
Android 에는 XML 로 쉽게 drawable 객체를 생성할 수 있는 Shape Drawable 이라는 것이 있다. 이번 포스팅에서는 Shape Drawable 에 대해 알아보자. Syntex ◼ android:shape 도형의 종류 지정 (하단 4가지) “rectangle” (사각형) “oval” (타원) “line” (선) “ring” (링) android:shape="ring" 인 경우 하단과 같은 추가 속성이 존재한다. - android:innerRadius 안쪽원의 반지름 값 - android:innerRadiusRatio 안쪽원의 반지름 비율 - android:thickness 원의 두께 - android:thicknessRatio 원의 두께 비율 - android:useLevel Boo..
개발을 하다보면 규모도 커지고 라이브러리 사용량도 많아지게 되는데 어느순간 하단과 같은 빌드 오류를 만날 수 있다. 이번 포스팅에서는 Multidex 에 대해 알아보자. Cannot fit requested classes in a single dex file (# methods: 67827 > 65536) cs Multidex ? Android 는 JVM(Java Virtual Machine) 기반의 DVM(Dalvik Virtual Machine) 에서 application 이 동작한다. ◼ Android 5.0 이상부터는 DVM -> ART 로 변경 (Dex 처리 방식 변경) DVM or ART 위에서 동작하기 위해 Android code 는 하단 이미지와 같이 dex 라는 파일로 컴파일 된다. De..
- Total
- Today
- Yesterday
- RoomDatabase
- mPANDO
- onCreateContextMenu
- notifyDataSetChanged
- android flag activity
- android intent
- Android Service
- WEMIX
- 안드로이드 서비스
- 리워드앱
- Intent
- p2e
- bindservice
- 안드로이드 인텐트
- onContextItemSelected
- BroadcastReceiver
- StartService
- 무료채굴
- 채굴앱
- 리워드 어플
- M2E
- 무료 채굴
- android activity flag
- task 생성
- android task
- 앱테크
- task
- registerForContextMenu
- StringUtils
- 앱테크 추천
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |