Development/[Android] 안드로이드(13)
-
안드로이드 마켓 배포를 편하게 해보자 "google publisher api v3"
안드로이드 앱 개발의 최종단계라고 할 수 있는 구글 플레이 배포. 앱이 1, 2개인 경우는 상관이 크게 없을지 모르나, 관리하고 있는 앱이 10개 이상을 넘어가기 시작하면 사용자 배포 이슈가 있을때마다 일일히 google play consoel 에 접속해서 앱을 배포하는 것이 얼마나 귀찮은 일인지는 현업을 뛰어보면 알 수 있다. 이때 구글에서 제공하는 "google publisher api v3" 를 사용하면 소스 단에서 바로 빌드하여 바로 업로드, 배포까지 논스톱으로 진행할 수 있다. 배포와 관련해서는 fastlane 이라는 스크립트 대체제가 있으나, 자바나 파이썬에 익숙하고 심플하게 관리할 운영툴을 만들고 싶다면 "google publisher api" 가 좋은 방법일 수 있다. 우선 공식 샘플 소스..
2021.01.24 -
(20년09월 최신기준) androidx 프로젝트에 필요한 기본 dependencies - gradle
2020.09.16 일자 기준, stable 버전의 안드로이드 스튜디오로 최신 프로젝트를 생성시, 다음과 같이 모듈단의 build.gradle 의 의존성 버전들을 설정하면 개발 학습을 하실때 필요한 최소한의 기본적인 것들은 충돌없이 사용이 가능합니다. implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.0.0' implementation 'androidx.constraintlayout:constraintlayout:2.0.1' implementation 'androidx.navigation:navigation-fragment:2.1.0' implementation '..
2020.09.16 -
Android Realm 데이터베이스 사용하기
1. 안드로이드 스튜디오 프로젝트에서 프로젝트 레벨의 build.gradle 에 realm 레파지토리 추가 buildscript { repositories { jcenter() } dependencies { classpath "io.realm:realm-gradle-plugin:6.0.0" } } 2. 안드로이드 스튜디오 프로젝트에서 앱 레벨의 build.gradle 에 plugin 추가 apply plugin: 'realm-android' 3. realm 에서 사용할 오브젝트 클래스 (실제로 DB에 들어갈 기본 틀) 만들어 놓기 public class Dog extends RealmObject { private String name; private int age; // Getter, Setter 도 함..
2019.10.25 -
RxJava1 에서 map 반복문
Map bodyData = new LinkedHashMap(); bodyData.put("key1", "val1"); bodyData.put("key2", "val2"); bodyData.put("key3", "val3"); Observable entries = Observable.from(bodyData.entrySet()); //사이즈만큼 반복 entries.subscribe( value -> { String k = value.getKey(); //키값 String v = value.getValue(); //밸류 });
2019.08.28 -
안드로이드 백그라운드 정책 - 버전별 차이 및 WorkManager
안드로이드의 버전별 백그라운드 정책은 공식 문서에 아래와 같이 정의하고 있습니다. (https://developer.android.com/guide/background/#challenges_in_background_processing) Android 6.0 (API level 23) introduced Doze mode and app standby. Doze mode restricts app behavior when the screen is off and the device is stationary. App standby puts unused applications into a special state that restricts their network access, jobs, and syncs. And..
2019.08.23 -
[안드로이드] 에뮬레이터 에러별 대처방법
1. 빌드는 되는데, 런타임시에 unexpected cpu variant for x86 using defaults : x86 JIT profile information will not be rocorded : profile file does not exits. 과 같은 오류 로그가 나오는 경우 아래와 같이 앱을 구동하는 에뮬레이터가 google play + x86 으로 셋팅된 에뮬레이터로 실행한다.
2018.12.18 -
FireBase 를 사용하기 위한 안드로이드 스튜디오 필수 설정
FireBase 를 사용하기 위한 안드로이드 스튜디오 필수 설정 FireBase를 사용하고자 할때 안드로이드 스튜디오의 필수 라이브러리들을 셋팅하는 과정에서 일명 빨간줄이 나타나서 빌드가 어려운 경우가 많습니다. 이때 확인하여야 할 기본적인 셋팅값은 다음 스샷들과 같습니다. (2018년 11월 말 기준) *firebase 의 채팅(실시간 DB), 얼굴 인식 등의 기능을 사용한다고 가정시 1. Project 수준의 build.gradle 파일 1) buildscript - dependencies 내용classpath 'com.android.tools.build:gradle:3.2.1' classpath 'com.google.gms:google-services:4.1.0'2) apply 문구 추가apply ..
2018.11.22 -
안드로이드 단말기 dpi와 디자인 가이드 적용방법
안드로이드 단말기 dpi 단위와 디자인 가이드 적용방법 [ 1인치당 픽셀수 표 ]ldpi : 120dpi mdpi : 160dpi (기본) *. 1dp 가 1px 로, 1:1 매칭이 됩니다.hdpi : 240dpi xhdpi : 320dpi (h + 80)xxhdpi : 480dpi (h + 240, x + 160) xxxhdpi : 640dpi (h + 400, xx + 160) *. px 값 얻기 = dp * 단말 DPI / 160*. dp 값 얻기 = px * 160 / 단말 DPI 보통 안드로이드 개발을 진행하면, 디자이너로 부터 "어떻게 가이드 잡아드릴까요?" 라는 질문을 받습니다. 안드로이드는 단말기의 파편화가 심각해서 (종류만 4천개가 훌쩍 넘습니다..) 디자인을 깔끔하게, 그리고 디자이너 ..
2018.08.17 -
안드로이드 스튜디오 빌드 APK파일명 자동 변경
//안드로이드 스튜디오 빌드 APK파일명 자동 변경android { buildTypes { release { applicationVariants.all { variant -> variant.outputs.each { output -> def file = output.outputFile output.outputFile = new File( file.parent, file.name.replace("-release.apk", "_${variant.buildType.name}_v" + defaultConfig.versionName + ".apk")) } } //또는 /*applicationVariants.all { variant -> def file = variant.outputFile def newName =..
2015.12.21 -
안드로이드 해상도별 아이콘 사이즈
ldpi (Low) mdpi (Medium) hdpi (High) Launcher 36 x 36 px 48 x 48 px 72 x 72 px Menu 36 x 36 px 48 x 48 px 72 x 72 px Status Bar 24 x 24 px 32 x 32 px 48 x 48 px Tab 24 x 24 px 32 x 32 px 48 x 48 px Dialog 24 x 24 px 32 x 32 px 48 x 48 px List View 24 x 24 px 32 x 32 px 48 x 48 px
2013.08.06 -
ADB 명령어
● 안드로이드내의 쉘을 이용하고 싶다면: adb shell ● 파일을 전송하려면: adb push desktoppath androidpath● 만약 e드라이브의 어느 apk를 전송하고 싶다면 : adb push e:\other.apk /sdcard/other.apk 라고 입력합니다.● 안드로이드 폰안의 데이터를 컴퓨터로 가지고 오고 싶다면: adb pull androidpath desktoppath ● sdcard의 dcim폴더의 모든 파일을 가져오고 싶다면 : adb pull /sdcard/dcim 만 입력하면 현재 adb를 실행한 폴더로 모든 파일을 가져오게 되고 ● sdcard/dcim 의 파일들을 e:\dcim 폴더로 가져오고 싶다면: adb pull /sdcard/dcim e:\dcim ● 컴퓨..
2013.06.21 -
안드로이드 openGL 학습에 도움이 되는 사이트
안드로이드 openGL 학습에 도움이 되는 사이트http://www.jayway.com/2009/12/03/opengl-es-tutorial-for-android-part-i/
2013.01.15 -
안드로이드 로딩중 표시 띄우기
private ProgressDialog progressDialog; private void createThreadAndDialog(){ progressDialog = ProgressDialog.show(getContext(), getTextFilter(), "데이터를 로딩중입니다"); Thread thread = new Thread(new Runnable() { public void run() { try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } fristhandler.sendEmptyMessage(0); } }); thread.start()..
2012.12.20