1ヶ月でAndroidカメラアプリ開発(1/4)
by
sakebook
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
̍ϲ݄Ͱ ANDROIDΧϝϥΞϓϦ։ൃ @Trunk ञຊ৳ 2016/3/13
Slide 2
Slide 2 text
͡Ίʹ
Slide 3
Slide 3 text
ࣗݾհ ञຊ৳ ੴݝ @sakebook Android 3͘Β͍ iOS ͪΐͬͱ ϥΠϑϩά͖
Slide 4
Slide 4 text
ຊͷྲྀΕ • ࡞ΔΞϓϦͷσϞ • Androidʹ͍ͭͯ • ։ൃڥઃఆ • ։ൃڥղઆ • ΞϓϦͷσόοά • ιʔείʔυཧ • Adobe SDKಋೖ
Slide 5
Slide 5 text
࡞ΔΞϓϦͷσϞ
Slide 6
Slide 6 text
ANDROID
Slide 7
Slide 7 text
ANDROIDͱ • Google͕։ൃ͢ΔΦʔϓϯιʔεͳ ϞόΠϧ͚ϓϥοτϑΥʔϜ
Slide 8
Slide 8 text
ΞʔΩςΫνϟ https://ja.wikipedia.org/wiki/Android
Slide 9
Slide 9 text
όʔδϣϯ • ࡉ͔͍ͷΛؚΊΔͱ 20Ҏ্ͷछྨ (API LEVEL) • 4.1Ҏ͕߱90%ऑΛΊΔ (2015/6/1)
Slide 10
Slide 10 text
APK • ΞϓϦͷ֦ுࢠ • Application PaKage ͔Β͖͍ͯΔ • ։ൃͨ͠ΞϓϦ̋̋.apk ͱ͍͏ܗʹͳΔ
Slide 11
Slide 11 text
։ൃڥ
Slide 12
Slide 12 text
ANDROID STUDIO • Intellij IDEAΛϕʔεʹͨ͠౷߹։ൃڥ(IDE) • Google͕։ൃ • Androidͷ։ൃʹಛԽ • Eclipseଔۀ͍ͯͩ͘͠͞(ADT͕։ൃऴྃ)
Slide 13
Slide 13 text
͊͞͡ΊΑ͏
Slide 14
Slide 14 text
NEW PROJECT • Application name • ΞϓϦͷ໊લ • Company Domain • ࣗΛϢχʔΫʹ ͢ΔυϝΠϯ
Slide 15
Slide 15 text
NEW PROJECT • Package name • ΞϓϦΛϢχʔΫʹ ͢Δจࣈྻ • ଞͷΞϓϦͱॏෳېࢭ • Project location • PCͷϓϩδΣΫτύε
Slide 16
Slide 16 text
NEW PROJECT • Phone and Tablet • API 16(4.1) • Empty Activity • Activity ≒ ը໘ • ͦͷ··(ޙ͔ΒมߋՄೳ)
Slide 17
Slide 17 text
ϓϩδΣΫτߏ
Slide 18
Slide 18 text
• ϓϧμϯΛ Android -> Project ʹมߋ
Slide 19
Slide 19 text
• MyApplication(Root) • ϓϩδΣΫτϧʔτ • .gradle/ • ϩʔΧϧϦϙδτϦ • .idea/ • IDEͷઃఆঢ়گ
Slide 20
Slide 20 text
• build/ • Ϗϧυ࣌ͷ ϑΝΠϧஔ͖ • gradle/ • Ϗϧυʹඞཁͳ Gradleஔ͖ • .gitignore • gitͰཧ͠ͳ͍ͷΛ ࢦఆ • build.gradle • ϓϩδΣΫτͷ ґଘؔΛهड़
Slide 21
Slide 21 text
• gradle.properties • Gradle͕ ࢀর͢ΔϓϩύςΟ • gradlew • Linuxͷ Gradle࣮ߦϑΝΠϧ • gradlew.bat • Windowsͷ Gradle࣮ߦϑΝΠϧ
Slide 22
Slide 22 text
• local.properties • ݸਓͷڥͷSDKͷ ύεͷઃఆ • MyApplication.iml • IntellijͷϑΝΠϧ • setting.gradle • GradleͷϏϧυϞδϡʔϧΛهड़ • External Libraries • ϓϩδΣΫτͷ ֎͔Βࢀর͍ͯ͠Δ ϥΠϒϥϦ
Slide 23
Slide 23 text
• app/ • Ϟδϡʔϧ • app/libs • ϩʔΧϧϥΠϒϥϦ ஔ͖ • app/build.gradle • ϞδϡʔϧͷϏϧυͷઃఆ ґଘؔΛهड़ • app/proguard-rules.pro • ಡԽʹ༻͍Δ
Slide 24
Slide 24 text
• src • ίϯύΠϧରͷ ϑΝΠϧஔ͖ • src/androidTest • ςετϑΝΠϧஔ͖ • src/main/java • ιʔεϑΝΠϧஔ͖ • src/main/res • ϦιʔεϑΝΠϧஔ͖
Slide 25
Slide 25 text
• drawable • ը૾xmlΛஔ͘ॴ • layout • ϨΠΞτͷxmlΛ ஔ͘ॴ • menu • ϝχϡʔͷxmlΛஔ͘ॴ • mipmap • ΞΠίϯը૾Λஔ͘ॴ
Slide 26
Slide 26 text
• dpi (Dot Per Inch: ը໘ີ) • mdpi(48x48) • hdpi(72x72) • xhdpi(96x96) • xxhdpi(144x144)
Slide 27
Slide 27 text
• dimens.xml • จࣈͷαΠζ ༨നͷͳͲΛ ఆٛͰ͖Δ • strings.xml • ςΩετΛఆٛͰ͖Δ • styles.xml • ΞϓϦͷςʔϚΛ هड़Ͱ͖Δ
Slide 28
Slide 28 text
• AndroidManifest.xml • ΞϓϦͱؒͷ Permission ActivityͳͲͷ ৼΔ͍ɺ Package nameͳͲ ༷ʑͳ͜ͱΛ ઃఆͰ͖Δ
Slide 29
Slide 29 text
ANDROID STUDIO SETTING
Slide 30
Slide 30 text
ίʔυิ • ్த·Ͱೖྗ͢Δͱ༧ଌͰ ݱࡏར༻ՄೳͳީิΛදࣔͯ͘͠ΕΔ • Android Studio -> Preference -> Keymap ->ʮCompletionʯ (͖ͳίϚϯυΛׂΓͯΔ)
Slide 31
Slide 31 text
ߦදࣔ • ϑΝΠϧͷࠨଆʹݱࡏͷߦΛ දࣔͯ͘͠ΕΔ • Android Studio -> Preference -> Editor -> General -> Appearance -> ʮShow line numbersʯ (νΣοΫΛೖΕΔ)
Slide 32
Slide 32 text
GENERATE • ࣗಈੜͰ͖ΔͷͷγϣʔτΧοτ (⌘+n)
Slide 33
Slide 33 text
ࠔͬͨ࣌ • (Alt + Enter)ͰͦͷͰͰ͖Δ͜ͱΛ αδΣετͯ͘͠ΕΔ
Slide 34
Slide 34 text
ଞʹͨ͘͞Μ • http://qiita.com/sugoi_wada/items/ db449d5cbb5c83cb586c • http://qiita.com/takke/items/ 5cbc629f7f65d6a49906
Slide 35
Slide 35 text
Ϗϧυ
Slide 36
Slide 36 text
ϏϧυγεςϜ • Gradle • GroovyͰهड़Ͱ͖Δ • setting.gradleͰରͱͳΔϞδϡʔϧΛࢦఆ • app/build.gradleʹϏϧυ࣌ͷλεΫΛهड़ • ίϚϯυϥΠϯ or ASͷػೳͰϏϧυ࣮ߦ
Slide 37
Slide 37 text
No content
Slide 38
Slide 38 text
ίϚϯυϥΠϯ • $./gradlew assembleDebug • BuildType͕DebugͰϏϧυ͞ΕͨapkΛ app/build/outputs/apk ʹ࡞ • $./gradlew installDebug • ରͷσόΠεʹapkΛΠϯετʔϧ
Slide 39
Slide 39 text
࣮ػ OR ΤϛϡϨʔλ
Slide 40
Slide 40 text
࣮ػ͕ͳ͚ΕΤϛϡϨʔλ • ७ਖ਼ͷͷ͋͘ͼ͕ग़Δ΄Ͳ͍ • 2.x͔Βૣ͘ͳΔΒ͍͠ɻ • GenymotionΛ͏
Slide 41
Slide 41 text
GENYMOTION • രͷΤϛϡϨʔλ • ແྉ൛ͩͱ੍ݶ͕͋Δ͕ɺ ௨ৗར༻ͳΒे • https://www.genymotion.com/
Slide 42
Slide 42 text
LOGCAT
Slide 43
Slide 43 text
LOGCAT • ଓ͞Ε͍ͯΔσόΠε͕ྲྀ͍ͯ͠ΔϩάΛ ऩूɾදࣔ͢Δػೳ
Slide 44
Slide 44 text
දࣔͤ͞Δ • ͬͱίʔυʹ৮Δʂʁ • 14ߦʹ Log.d(“Trunk”, “onCreate”);
Slide 45
Slide 45 text
͜͏͍͏ͱ͖͕ • Alt + Enterͷग़൪ʂ
Slide 46
Slide 46 text
දࣔ͞Εͨ • ݟ͚͕ ͭ͘Α͏ʹ ͳͬͨ
Slide 47
Slide 47 text
अຐͳͷΛഉআ͍ͨ͠ • FilterΛ࡞͢Δ
Slide 48
Slide 48 text
ݟ͘͢ͳͬͨʂ
Slide 49
Slide 49 text
͍͚ • Log.v(String tag, String msg) ʮʯ • Log.d(String tag, String msg) ʮσόοάʯ • Log.i(String tag, String msg) ʮใʯ • Log.w(String tag, String msg) ʮܯࠂʯ • Log.e(String tag, String msg) ʮΤϥʔʯ
Slide 50
Slide 50 text
BREAKPOINT
Slide 51
Slide 51 text
BREAK POINT • LogcatͩͱΫϥογϡͨ͠ॴͰɺଞͷ͕ Ͳ͏ͳ͍ͬͯΔ͔ͳͲ͕Θ͔Βͳ͍ • Ϋϥογϡ͢Δ͔ۙΒಈ͖Λ ͭͿ͞ʹ͍͍ͨʂ
Slide 52
Slide 52 text
DEBUG • ϓϩάϥϜΛ ࢭΊ͍ͨॴʹ ؙΛઃஔ • ʮhogeʯͷ ΛݟͯΈΔ
Slide 53
Slide 53 text
͓͍ͷσόΠεਖ਼ৗͰ͢ • σόΠεଆʹද͕ࣔ ͰΔ͕ͭ
Slide 54
Slide 54 text
εςοϓΦʔόʔ • 15ߦͰBreak • ࢭ·ͬͨߦ ͦͷ࣌Ͱ ධՁ͞Εͳ͍
Slide 55
Slide 55 text
• ʮhogeʯ͕ఆٛ ͞Ε͍ͯΔ
Slide 56
Slide 56 text
• ʮhogeʯͷ த͕”huga”ʹ ͳ͍ͬͯΔ
Slide 57
Slide 57 text
ෳઃஔͨ࣌͠ • ݱࡏͷ Breakpoint͔Β ൈ͚ͨΓଓΛ Δ͜ͱ Ͱ͖Δ
Slide 58
Slide 58 text
ιʔείʔυཧ
Slide 59
Slide 59 text
GIT • ࢄܕόʔδϣϯཧγεςϜ • GitHub • GitΛ༻͍ͨWebαʔϏε
Slide 60
Slide 60 text
Α͘͏ίϚϯυ • git status • git diff ϑΝΠϧ • git checkout ϑΝΠϧ • git add ϑΝΠϧ • git commit -m “ϝοηʔδ” • git pull “ϦϞʔτϦϙδτϦͷURL” “ϩʔΧϧͷϒϥϯν໊” • git push “ϦϞʔτϦϙδτϦͷURL” “ϩʔΧϧͷϒϥϯν໊”
Slide 61
Slide 61 text
• git status • ݱࡏͷϒϥϯνͰ มߋ͕͋Δ͔Ͳ͏͔Λ֬ೝ • git diff ϑΝΠϧ • ରͷϑΝΠϧͷ Ͳ͜ʹมߋ͕͋Δͷ͔Λ֬ೝ
Slide 62
Slide 62 text
• git checkout ϑΝΠϧ • ରͷϑΝΠϧͷ ϩʔΧϧϦϙδτϦͰͷมߋΛ͢ • git add ϑΝΠϧ • ରͷϑΝΠϧΛcommitରʹ͢Δ
Slide 63
Slide 63 text
• git commit -m “ϝοηʔδ” • commitରʹͨ͠ϑΝΠϧͨͪΛ pushରʹ͢Δ • git pull “ϦϞʔτϦϙδτϦͷURL” “ϩʔΧϧͷ ϒϥϯν໊” • ϦϞʔτϦϙδτϦͷมߋΛϩʔΧϧʹ өͤ͞Δ
Slide 64
Slide 64 text
• git push “ϦϞʔτϦϙδτϦͷURL” “ϩʔΧ ϧͷϒϥϯν໊” • pushରʹͨ͠ϑΝΠϧͨͪΛϦϞʔτ ϦϙδτϦpush͢Δ
Slide 65
Slide 65 text
~/.GITCONFIG [user] name = Shinya Sakemoto email =
[email protected]
[color] ui = auto [alias] st = status br = branch -a ch = checkout cm = commit stt = status -uno difff = diff --word-diff • Α͘͏ͷ ొ͓ͯ͘͠ͱศར
Slide 66
Slide 66 text
ৄ͘͠ • http://blog.nanapi.co.jp/tech/2014/04/23/git-love/
Slide 67
Slide 67 text
GITHUBʹొ͠Α͏ • ઌ΄Ͳ࡞ͨ͠ϓϩδΣΫτΛొ • GitHubͰదͳϦϙδτϦ࡞ • $git remote add origin ϦϙδτϦ
Slide 68
Slide 68 text
ADOBE CREATIVE CLOUD
Slide 69
Slide 69 text
SDK • Software Development Kit • ࠓճͩͱAdobe͕ఏڙ͍ͯ͠ΔػೳΛɺΞϓϦ ʹΈࠐΉ͜ͱ͕Ͱ͖Δɻ • https://creativesdk.adobe.com/docs/android/#/articles/ gettingstarted/index.html • Ұॹʹઃఆ͠·͠ΐ͏