Android 사용 방법
Post date: Sep 1, 2013 11:25:47 AM
[2020-1학기] Android Studio Version = 3.5.3, API 27 (Oreo), 64-bit, Nexus 5: 강의의 연속성을 위해 이 Version만 사용하고 Update하지 않습니다.
[2018-2학기] Android Studio Version = 3.1.4, API 27 (Oreo), 64-bit, Nexus 5
[2018-1학기] Android Studio Version = 3.0.1, API 25 (Nougat), 64-bit, Nexus 5
[2017-2학기] Android Studio Version = 2.3.3, API 25
[2017-1학기] Android Studio Version = 2.3, API 19
[2016-2학기] Android Studio Version = 2.1.3, API 19
[2016-1학기] Android Studio Version = 1.5.1, API 19
[2015-2학기] Android Studio Version = 1.3.2, API 19
[2015-1학기] Android Studio Version = 1.1, API 19
[2014-2학기] Android Studio Version = 0.8.11
[2013-2학기] Android Studio Version = 0.2.7
Android Studio는 아래 링크에서 무료로 내려받을 수 있다.
- Download: http://developer.android.com/sdk/installing/studio.html
[설치 방법]
1. Android Studio 설치 전에 Java가 설치되었는지 반드시 확인해야 한다. 잘 모르면 고민하지 말고 아래 JDK(Java Development Kit)를 먼저 깔아라.
http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Java SE(Standard Edition)을 설치해야 한다.
- 내 PC가 32-bit인지 64-bit인지 확인해서 깔아라.
2. JDK 설치 후 Android Studio를 깔면 된다. 일반적인 설치 과정과 동일하다.
- 반드시 "관리자 권한"으로 설치해야 한다.
- 관리자 권한 없이 설치하면 나중 New Project 생성시 문제가 된다.
http://developer.android.com/sdk/installing/studio.html
3. New Project를 이용해 아무 Project든지 생성해서 SDK를 깔아야 한다.
- Tools > Android > SDK Manager를 실행한다.
- Tools에 있는 Android SDK Tools, Android SDK Platform-tools, Android SDK Build-tools의 최선 Version을 선택해 설치한다.
- Extras에 있는 것은 Android Support Repository, Android Support Library, Google USB Driver만 설치한다.
- 다양한 버전의 Android API를 선택해서 install한다.
- 이때 Android API를 빨리 깔려면 SDK Platform, ARM EABI v7a System Image, Google APIs만 깔면 된다.
혹시 SDK Manager 실행이 안되면 "C:\Program Files (x86)\Android\android-studio\sdk"로 찾아들어가서 "SDK Manager.exe"를 직접 실행한다.
[실행이 안 될 때]
1. JVM(Java Virtual Machine) 없음
- JDK 먼저 깔고 Android Studio 깔아라.
- 이렇게 해도 동일한 문제가 발생하면 다음처럼 하라.
- 컴퓨터 > 속성 > 고급 시스템 설정 > 환경변수로 들어가라.
- "새로 만들기"를 이용해 새로운 변수 JAVA_HOME을 현재 설치된 JDK Folder로 설정하라.
- 예를 들면 JAVA_HOME = C:\Program Files\Java\jdk1.7.0_25
- JDK를 설치해도 Android Studio가 계속 설치를 요구하는 경우(AS Version 1.3.2 경우)
- Path 설정이 잘못된 경우이므로 "File > Project Structure"에 들어가서 JDK location을 현재 PC에 설치된 JDK Path로 재설정 필요
2. 폴더 접근 권한 없음
이 경우는 Android Studio 실행할 때 "관리자 권한"으로 해야 한다. 다음부터는 그냥 더블클릭하면 된다.
3. New Project 생성 실패
- Android Studio 설치후 AS 0.2.7을 바로 update하면 SDK 설치가 되지 않아 New Project 생성에 실패한다(2013-09-10).
- 이 경우 아래와 같은 경고가 뜬다.
- You must install the Android Support Repository through the SDK Manager.
- 해결책1: Android Studio를 모두 지우고 다시 설치한 후 update하지 말고 SDK Manager를 실행해 SDK를 설치해야 한다. 이후에는 update하더라도 문제가 없다.
- 해결책2: 이전에 만든 Project를 복사해서 Open Project를 이용해 IDE로 들어가 SDK Manager를 실행한다.
- 해결책3: "C:\Program Files (x86)\Android\android-studio\sdk"로 찾아들어가서 "SDK Manager.exe"를 직접 실행한다.
- 관리자 권한으로 Android Studio를 설치하지 않으면 Gradle 생성시 문제가 발생하여 New Project가 생기지 않는다(2013-09-10).
- 이 경우 아래와 같은 경고가 뜬다.
- Failed to import Gradle project: Could not fetch model of type 'IdeaProject' using Gradle distribution.
- 해결책: Android Studio를 모두 지우고 "관리자 권한"으로 다시 설치한다.
4. SDK update 실패
이 경우는 폴더 접근 권한이 없어서 생긴 것이므로 "관리자 권한"으로 Android Studio를 실행해서 update하면 해결된다.
5. 한글 지원 안됨
- 한글을 쓰려면 Android 4.1.2를 설치해야 한다. Android 4.1.2는 Tools > Android > SDK Manage로 들어가서 Android 4.1.2를 선택한 다음 [Install packages]를 누르면 된다[1].
- AVD(Android Virtual Device)를 Nexus4 API Level 16으로 설정해야 한글이 출력된다.
- 왼쪽 Project 창에 있는 build.gradle (Module:app)에 아래 코드를 삽입해야 한글 메시지가 정상적으로 출력된다.
// AS Version 1.2 이후
android {
...
compileOptions.encoding = 'ISO-8859-1'
}
// AS Version 1.2 미만
tasks.withType(Compile) {
options.encoding = 'UTF-8'
}
6. 그래도 계속 안되는 경우
- Android Studio와 충돌되는 program을 삭제한다. 아래는 현재까지 발견된 충돌 program 목록이다.
- Bigfoot Networks Killer Network Manager
7. Local path doesn't exist
- Android Studio version 문제로 가끔씩 uploading이 안 되는 경우가 생긴다. 이때는 존재하지 않는 경로를 내가 수동으로 내 컴퓨터에 만들어주면 해결된다.
[App이 내 Smartphone에서 실행이 안 될 때]
1. Smartphone 개발자 옵션 설정
- 설정 > 개발자 옵션 > USB 디버깅을 선택하여 디버깅 모드가 실행되도록 한다.
[Hot Keys]
- Type hierarchy: Ctrl+H
- Quick help document: Ctrl+Q
- Quick information viewer: Ctrl+Shift+I
- Android reference: Shift+F1
- Basic declaration: Ctrl+B
- Basic completion: Ctrl+Space
- Statement completion: Ctrl+Shift+Enter
- Current Java class: Ctrl+F12
- Ctrl 누르기: 해당 class 특성 보기, 마우스로 누르면 해당 class 선언으로 이동
- Quick command search for all: Ctrl+Shift+A
- Add import: Alt+Enter
- New class or member: Alt+Insert
- Override method: Ctrl+O
- Implement method: Ctrl+I
- Auto-indent line: Ctrl+Alt+I
- Reformat lists of codes: Ctrl+Alt+L
- Reformat file: Ctrl+Alt+Shift+L
- Run: Shift+F10
[Tips]
- VCS 기능 제거
- File > Settings > Plugins에서 "VCS"를 검색해 모두 제거함
[Chart]
- Android Studio 설정
- build.gradle (Project)
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
- build.gradle (Module)
dependencies {
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
}
- 사용 방법: https://github.com/PhilJay/MPAndroidChart/wiki
- LineChart sample
- activity_main.xml 설정
<com.github.mikephil.charting.charts.LineChart
android:id="@+id/myChart"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginTop="200dp"
app:layout_constraintTop_toTopOf="parent"/>
- MainActivity 설정
- onCreate()
protected LineChart lineChart;
protected ArrayList<Entry> lineEntry;
lineChart = (LineChart) findViewById(R.id.myChart);
lineEntry = new ArrayList<>();
lineEntry.add(new Entry(0, (float) Math.sin(0)));
lineEntry.add(new Entry(0.1f, (float) Math.sin(0.1f)));
LineDataSet lineDataSet = new LineDataSet(lineEntry, "Sine chart");
lineDataSet.setDrawValues(false);
lineDataSet.setDrawCircles(false);
lineDataSet.setDrawFilled(true);
lineDataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER);
LineData lineData = new LineData(lineDataSet);
lineChart.getDescription().setText("Write comments.");
lineChart.getDescription().setTextSize(15.f);
lineChart.getXAxis().setTextSize(15.f);
lineChart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
lineChart.getAxisLeft().setTextSize(15.f);
lineChart.getAxisRight().setEnabled(false);
lineChart.getLegend().setTextSize(15.f);
lineChart.setData(lineData);
- OnClickListener(): data 추가 기능
nPos++; float x = nPos/10.f;
lineEntry.add(new Entry(x, (float) Math.sin(x)));
LineDataSet lineDataSet = new LineDataSet(lineEntry, "Added sine chart");
LineData lineData = new LineData(lineDataSet);
lineChart.setData(lineData);
lineChart.notifyDataSetChanged();
lineChart.invalidate();
- 좌표축 이름은 주로 TextView로 설정
- 90도 회전 원하면 android:rotation 이용
- 크기 키우려면 android:textSize 이용
- 추후 점검 예정
[참고문헌]
- https://android-arsenal.com/
- http://www.dongwun.com/tc/173
- Firebase Android Series: Firestore
- Exploring Firebase MLKit on Android: Face Detection (Part Two)