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 • Ұॹʹઃఆ͠·͠ΐ͏