Lecture/Android/Material (2016)

Retired DISLab
이동: 둘러보기, 찾기

목차

첨기연 설정

Key 인증

  1. 삼성에서 발급한 키값으로 인증을 해야한다.
C:\>keytool -storepass changeit -import -file "d:\samsung.crt" -keystore
"C:\Program Files\Java\jdk1.8.0_101\jre\lib\security\cacerts" -alias samsungcert


C:\>cd C:\Program Files (x86)\Java\jdk1.7.0_17\bin
 
C:\Program Files (x86)\Java\jdk1.7.0_17\bin>keytool -storepass changeit -import
-file "c:\samsung_university.cer" -keystore "C:\Program Files (x86)\Java\jdk1.7.
0_17\jre\lib\security\cacerts" -alias samsungcert
소유자: EMAILADDRESS=hyoungjeen.yoon@samsung.com, CN=SAMSUNG University, OU=SAMS
UNG University, O=SAMSUNG Electronics, L=Yongin, ST=Gyeonggi-do, C=KR
발행자: EMAILADDRESS=hyoungjeen.yoon@samsung.com, CN=SAMSUNG University, OU=SAMS
UNG University, O=SAMSUNG Electronics, L=Yongin, ST=Gyeonggi-do, C=KR
일련 번호: 88f6cbee49905a00
적합한 시작 날짜: Sat Dec 28 09:51:55 KST 2013, 종료 날짜: Tue Dec 26 09:51:55 K
ST 2023
인증서 지문:
         MD5: B8:94:C2:00:74:FF:76:0E:D9:28:CA:D0:EA:88:38:17
         SHA1: 1A:F6:1D:E8:22:22:88:FB:6E:3F:2E:6F:55:96:05:39:6F:93:EB:AC
         SHA256: 75:A0:FE:29:22:C5:FA:AA:29:7C:AC:55:A8:1E:EF:F7:8D:98:D0:20:B9:
73:A4:CA:D4:03:6F:04:BE:B6:4F:85
         서명 알고리즘 이름: SHA1withRSA
         버전: 3
 
확장:
 
#1: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 44 6E ED 97 11 6A 2C A4   07 4D 86 CF C2 8C 59 89  Dn...j,..M....Y.
0010: 92 34 11 50                                        .4.P
]
[EMAILADDRESS=hyoungjeen.yoon@samsung.com, CN=SAMSUNG University, OU=SAMSUNG Uni
versity, O=SAMSUNG Electronics, L=Yongin, ST=Gyeonggi-do, C=KR]
SerialNumber: [    88f6cbee 49905a00]
]
 
#2: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[
  CA:true
  PathLen:2147483647
]
 
#3: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 44 6E ED 97 11 6A 2C A4   07 4D 86 CF C2 8C 59 89  Dn...j,..M....Y.
0010: 92 34 11 50                                        .4.P
]
]
 
이 인증서를 신뢰합니까? [아니오]:  y
인증서가 키 저장소에 추가되었습니다.
 
C:\Program Files (x86)\Java\jdk1.7.0_17\bin>

Android Studio 설정

  1. Proxy 설정
    • Menu : File/Settings/Appearance & Behavior/System Settings/HTTP Proxy
    • 값: 10.241.3.7:8080
  2. JDK 경로 설정 변경
    • Menu : File/Project Structure/SDK Location/JDK location
    • uncheck : Use embedded JDK (recommended)
    • 경로설정 : C:\Program Files\Java\jdk1.8.0_101
  3. SDK Manager 설정
    • Menu : Tools/Android/SDK Manager/Launch Standalone SDK Manager/Tools/Options
    • check : Force https:// ... soources to be fetched using http:// ...
  4. SDK Dowonload

build.gradle 설정

  • proxy 설정 때문에 컴파일이 제대로 되지 않는다. 아래와 같이 project의 build.gradle을 수정한다.
buildscript {
    repositories {
        jcenter({url "http://jcenter.bintray.com/"})
    }
    dependencies {
        classpath "com.android.tools.build:gradle:2.3.3"
 
    }
}
 
allprojects {
    repositories {
        jcenter({url "http://jcenter.bintray.com/"})
    }
}
 
task clean(type: Delete) {
    delete rootProject.buildDir
}
  • 이것은 Android Studio를 띄울때 마다 새로 설정해야 합니다.
  • 새로 설정하지 않는 방법은 다음과 같습니다.
    1. C:\Users\SEC\.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2dg9u9ohc3hw9\gradle-3.3\bin 폴더 있는 gradle.bat 파일을 더블클릭해서 실행한다.
    2. C:\Users\SEC\.gradle 폴더에 init.gradle 파일(아래 내용과 같음)을 복사해 넣는다.
allprojects {
    buildscript.repositories {
        jcenter({ url "http://jcenter.bintray.com" })
        maven { url "http://10.252.250.53:8081/lm/content/groups/public/" }
    }
    buildscript.configurations.all {
        resolutionStrategy.cacheDynamicVersionsFor 0, 'seconds'
        resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
    }
    repositories {
        jcenter({ url "http://jcenter.bintray.com" })
        maven { url "http://10.252.250.53:8081/lm/content/groups/public/" }
    }
    configurations.all {
        resolutionStrategy.cacheDynamicVersionsFor 0, 'seconds'
        resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
    }
}

Android Application Project 설정

  1. gradle.properties에 다음 항목 추가. 실습 PC의 메모리가 적어 힙크기를 줄여야 함.
org.gradle.jvmargs=-Xmx512m
 
systemProp.https.proxyPort=8080
systemProp.https.proxyHost=168.219.61.252
systemProp.http.proxyPort=8080
systemProp.http.proxyHost=168.219.61.252

실습자료

소스 코드 교안 다운로드

아래 코드를 다운로드 받아서 코드를 복사하여 실습합니다. 만약 파일이 zip 형태로 받아진다면, 다운로드 후 확장자를 pptx로 변환하면 됩니다.

한글 입력기 설치 방법

  1. HangulKeyboard.zip을 다운로드 받아 압축해제한다.
  2. 에뮬레이터에 설치한다.
C:> adb install HangulKeyboard.apk

예제 프로그램 다운로드

Android 개념 및 개발 환경

II-2. 개발 환경 구축과 샘플 프로그램

II-4. Android 개발 도구

  • Ex-Notepad) TraceView - 도구 사용법을 익히기 위하여 설치하는 프로그램. 실행하면 데이터베이스가 만들어진다.

II-5. Activity

II-6. User Interface - Layout & Menu

II-7. Activity

User Interface, Intent와 Broadcast Receiver

III-1. User Interface - Dialog

III-2. View

III-3. User Interface - Resource

III-5. Intent & Adapter 연습

III-8. Service - IPC

데이터 저장, Telephony, Notification & Graphics

IV-1. Preference & File

IV-2. Database

IV-4. Network & Web

IV-5. Telephony, Notification & Alarm

IV-6. Graphics

IV-7. Media Framework

IV-8. Sensors

위치기반 서비스 & Field Application

V-1. Map

V-2. 위치기반서비스 - GPS

V-4. Preference

컴파일할 때 아래의 오류가 날 경우

The number of method references as a .dex file cannot exceed 64K.

build.gradle 파일을 아래와 같이 수정합니다.

android {
    ...
 
    defaultConfig {
        ...
        ...
 
        // Enabling multidex support.
        multiDexEnabled true
    }
 
    dependencies {
        ...
 
        compile 'com.android.support:multidex:1.0.0'
}

그리고 Manifest 파일을 다음과 같이 수정합니다.

    <application
        ...
        android:name="android.support.multidex.MultiDexApplication">
        ...
    </application>
</manifest>

V-5. Content Provider를 통한 지진 데이터 공유

V-6. Map & Service

V-7. Background Thread & Notification

개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기