Slide 1

Slide 1 text

pixivͷAndroidΞϓϦࣄ৘ ։ൃ෦ ϞόΠϧνʔϜ ࠤʑ໦ Ղ༞ @RooandQoo

Slide 2

Slide 2 text

ࠤʑ໦Ղ༞@RooandQoo AndroidΤϯδχΞ ࠓ೥ͷ৽ଔ(ࣾྺ3೥໨) About me

Slide 3

Slide 3 text

What is Android

Slide 4

Slide 4 text

What is Android ɾGoogle ੡ͷϞόΠϧ޲͚OS ɾΦʔϓϯιʔε ɾੈքతγΣΞ͸ߴ͍ ɾ೔ຊͩͱ…

Slide 5

Slide 5 text

What is Android όʔδϣϯίʔυͷ໊લ͕͓՛ࢠ

Slide 6

Slide 6 text

What is Android 1.5 : Cupcake 1.6 : Donut 2.0 : Eclair 2.2 : Frozen Yogurt 3.0 : Gingerbread 4.0 : Ice Cream Sandwich 4.1 : Jelly Bean 4.4 : KitKat 5.0? : L…?

Slide 7

Slide 7 text

What is Android ͔Θ͍͍

Slide 8

Slide 8 text

What is Android ɾ͍ͭ͜ʹਖ਼໊ࣜশ͸ͳ͍Β͍͠

Slide 9

Slide 9 text

What is Android ࠷ۙͷ Google ͸ੜ׆ͱ AndroidΛ ີணͤ͞Α͏ͱ͍ͯ͠Δ

Slide 10

Slide 10 text

Android Wear

Slide 11

Slide 11 text

Android Auto

Slide 12

Slide 12 text

Android TV

Slide 13

Slide 13 text

What is Android ͦͷ͏ͪྫྷଂݿͱ͔ʹ΋৯͍ࠐΜͰ͖ͦ͏

Slide 14

Slide 14 text

What is Android ਎ͷճΓͷ΋ͷΛ hack Ͱ͖Δͱ͍ͬͨҙຯͰ͸ ஌͓͍ͬͯͯଛ͸ͳ͍͔΋ʁ

Slide 15

Slide 15 text

How to Dev

Slide 16

Slide 16 text

How to Dev Apps ɾJava(ͬΆ͍ݴޠ) + xml ɾAndroid Studio(IDE) ωΠςΟϒͳΞϓϦ

Slide 17

Slide 17 text

How to Dev Apps ɾJava(ͬΆ͍ݴޠ) + xml ɾAndroid Studio(IDE) ωΠςΟϒͳΞϓϦ ScalaͰॻ͜͏ͱؤுͬͯΔਓ΋͍ΔΒ͍͠

Slide 18

Slide 18 text

How to Dev Apps ɾTitanium Mobile ɾMonaca ɾRhodes ɾCordova ! ͳͲͳͲ… WebΞϓϦͬΆͭ͘͘ΕΔϑϨʔϜϫʔΫ

Slide 19

Slide 19 text

How to Dev Apps Java Ϣʔβ͔Βͷೖྗʹର͢ΔԠ౴ ͳͲɺ৭ʑͳॲཧ xml ϨΠΞ΢τ΍ΞϓϦ಺ͷจࣈྻɺ਺஋ͳͲͷ ఆٛ

Slide 20

Slide 20 text

Architecture

Slide 21

Slide 21 text

Architecture Java Resources(xml) AndroidManifest.xml Build Script Project Source ͦΜͳʹେ͖͘ͳ͍

Slide 22

Slide 22 text

Java Resources(xml) AndroidManifest.xml Build Script Project Source ΞϓϦέʔγϣϯશମͷઃఆϑΝΠϧ Architecture

Slide 23

Slide 23 text

Java Resources(xml) AndroidManifest.xml Build Script Project Source ϏϧυઃఆͷεΫϦϓτϑΝΠϧ(Gradle) Architecture

Slide 24

Slide 24 text

Way to hello world

Slide 25

Slide 25 text

Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞੒ ɾRun ϘλϯΛԡ͢

Slide 26

Slide 26 text

Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞੒ ɾRun ϘλϯΛԡ͢ ͔ΜͨΜʂ

Slide 27

Slide 27 text

Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞੒ ɾRun ϘλϯΛԡ͢ https://developer.android.com/sdk/installing/studio.html

Slide 28

Slide 28 text

Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞੒ ɾRun ϘλϯΛԡ͢ New Project͔ΒαΫαΫͭ͘ΕΔ ॳΊ͔Β1ຕͷActivityΛ͍࣋ͬͯΔ

Slide 29

Slide 29 text

Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞੒ ɾRun ϘλϯΛԡ͢

Slide 30

Slide 30 text

Way to hello world

Slide 31

Slide 31 text

Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞੒ ɾRun ϘλϯΛԡ͢ New Project͔ΒαΫαΫͭ͘ΕΔ ॳΊ͔Β1ຕͷActivityΛ͍࣋ͬͯΔ

Slide 32

Slide 32 text

Activity?

Slide 33

Slide 33 text

Activity ɾϘλϯ΍ϦετͳͲͷը໘ύʔπ ɾWebϖʔδ(WebView) ɾάϥϑΟοΫε AndroidΞϓϦʹ͓͚Δը໘ͷ୯Ґ ͳͲ͕දࣔ͞ΕΔJavaͷΫϥε

Slide 34

Slide 34 text

Activity AndroidΞϓϦʹ͓͚Δը໘ͷ୯Ґ Ϣʔβͷૢ࡞Λड͚ͯॲཧ͢Δͷ΋ Activityͷ࢓ࣄ

Slide 35

Slide 35 text

Activity Activity Resource Load Show Operation User

Slide 36

Slide 36 text

Development Environment

Slide 37

Slide 37 text

Development Environment Android։ൃ༻ͷϓϥάΠϯ౳Λ ௥ՃͰΠϯετʔϧ͢Δඞཁ͕͋ͬͨ

Slide 38

Slide 38 text

Development Environment 2013೥ϦϦʔεɺ0.8.6(2014೥9݄9೔ݱࡏ)

Slide 39

Slide 39 text

Development Environment Eclipseͱൺ΂͍͍ͯͱ͜Ζ

Slide 40

Slide 40 text

Development Environment Gradle͕࢖͑Δ

Slide 41

Slide 41 text

Development Environment ʢGradle͕࢖͑Δ͜ͱͰʣ ϥΠϒϥϦͷ؅ཧָ͕

Slide 42

Slide 42 text

Development Environment ࢀߟࢿྉʢ͍͍ײ͡ʹ·ͱ·ͬͯ·͢ʣ http://blog.nkzn.info/entry/2014/03/21/015914

Slide 43

Slide 43 text

Development Environment pixivͰ͸2014೥ͷ4݄ʹҠߦͨ͠

Slide 44

Slide 44 text

Gradle

Slide 45

Slide 45 text

Gradle

Slide 46

Slide 46 text

Gradle ɾAnt΍Mavenʹ୅ΘΔϏϧυπʔϧ ɾهड़͕؆୯Ͱਓؒʹݟ΍͍͢ ɾAndroid StudioͰ͸ඞਢ ɾϥΠϒϥϦͷ؅ཧ΋ָ

Slide 47

Slide 47 text

Gradle [Gradle] GradleͱMavenͱAnt+ivyͷൺֱ http://d.hatena.ne.jp/kaakaa_hoe/20130312 ࢀߟࢿྉ

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

Gradle ɾAnt΍Mavenʹ୅ΘΔϏϧυπʔϧ ɾهड़͕؆୯Ͱਓؒʹݟ΍͍͢ ɾAndroid StudioͰ͸ඞਢ ɾϥΠϒϥϦͷ؅ཧ΋ָ

Slide 52

Slide 52 text

Gradle ɾAnt΍Mavenʹ୅ΘΔϏϧυπʔϧ ɾهड़͕؆୯Ͱਓؒʹݟ΍͍͢ ɾAndroid StudioͰ͸ඞਢ ɾϥΠϒϥϦͷ؅ཧ΋ָ

Slide 53

Slide 53 text

Gradle ͜͜ʹॻ͚ͩ͘ʂ

Slide 54

Slide 54 text

Gradle ศརʂ

Slide 55

Slide 55 text

Android@pixiv

Slide 56

Slide 56 text

ɾpixiv ɾpixiv ίϛοΫ ɾpixiv wall Android@pixiv ग़ͯ͠ΔΞϓϦ

Slide 57

Slide 57 text

iOSΞϓϦʹൺ΂ͯϦϦʔεͷख͕ؒͳ͍ͨΊɺ ࣮ݧతػೳΛಋೖ͢Δ࣌ͷઑฌʹͳΔ͜ͱ΋͋Δ Android@pixiv

Slide 58

Slide 58 text

ɾgit / GitHub ɾTravis CI ɾDeployGate ɾCrashlytics ɾGoogle Analytics Android@pixiv ར༻ͯ͠Δπʔϧ

Slide 59

Slide 59 text

ݴΘͣͱ஌Εͨιʔείʔυ؅ཧγεςϜ ػೳ௥Ճ΍όάमਖ਼͸PRϕʔεͰߦ͏ Android@pixiv git / GitHub

Slide 60

Slide 60 text

GitHubʹ push ͞ΕͨίʔυΛ Ϗϧυɺςετͯ͘͠ΕΔ ͜Εʹ pass ͠ͳ͍ίʔυ͸Ϛʔδ͞Εͳ͍ Android@pixiv Travis CI

Slide 61

Slide 61 text

ΞϓϦͷβ൛഑෍γεςϜ ࣾ಺ͷਓʹ࢖ͬͯ΋Βͬͯ ࢖༻ײͷ֬ೝ΍σόοάΛߦ͏ Android@pixiv DeployGate

Slide 62

Slide 62 text

ΞϓϦͷΫϥογϡݪҼ෼ੳͳͲΛ αϙʔτͯ͘͠ΕΔαʔϏε ൃੜՕॴ΍ճ਺͕Θ͔ΔͷͰσόοάʹॏๅ͍ͯ͠Δ Android@pixiv Crashlytics

Slide 63

Slide 63 text

Ϣʔβ͕ΞϓϦͰͲΜͳΞΫγϣϯΛߦ͔ͬͨʁ ͱ͍ͬͨΠϕϯτΛղੳͯ͘͠ΕΔαʔϏε Android@pixiv Google Analytics

Slide 64

Slide 64 text

ྑ͛͞ͳπʔϧ / ϥΠϒϥϦ͸ੵۃతʹಋೖͯ͠Δ Android@pixiv

Slide 65

Slide 65 text

࣮૷ɺpush ࣮૷͢Δ΋ͷ ܾΊΔ ࣾ಺ςετ (DeployGate) ϦϦʔε Release Cycle

Slide 66

Slide 66 text

Android@pixiv ࣮૷͢Δػೳͷݕ౼ ๻Β͕ ΄͍͠΋ͷ Ϣʔβ͕ ΄͍͠΋ͷ ձࣾతʹ ྑ͍΋ͷ ίίΛॏ఺తʹ ຬ͍ͨͯ͘͠

Slide 67

Slide 67 text

Android@pixiv ։ൃ Issueཱͯͯ

Slide 68

Slide 68 text

Android@pixiv ։ൃ ॻ͍ͯ͸PRΛ౤͛Δ

Slide 69

Slide 69 text

Android@pixiv ։ൃ PR͸ඞͣϨϏϡΞʔ͕1ਓҎ্͍ͭͯ ίʔυϨϏϡʔΛߦ͏

Slide 70

Slide 70 text

Android@pixiv ։ൃ ࠷ۙ͸WIPͱͯ͠࡞ۀ్தͷPRΛग़͠ɺ ࡉ͔͍୯ҐͰϨϏϡʔͯ͠΋Β͏͜ͱ΋

Slide 71

Slide 71 text

Android@pixiv ։ൃ ྑ͛͞ͳϥΠϒϥϦ͸υϯυϯ࢖͏

Slide 72

Slide 72 text

Android@pixiv ։ൃ ඞཁʹԠͯ͡APIΛॻ͍ͨΓ΋͢Δ

Slide 73

Slide 73 text

Android@pixiv ྫ UIେվम

Slide 74

Slide 74 text

Android@pixiv ๻Β͕΄͍͠ ɾ૴ࣜUI͸͍͍Ճݮμα͍ ʢެࣜͬΆ͘ͳ͍…ʣ ɾࠓͬΆ͍σβΠϯͷைྲྀʹ৐Γ͍ͨ

Slide 75

Slide 75 text

Android@pixiv Ϣʔβ͕΄͍͠ ɾ͖ͬ͢Γ·ͱ·ͬͨUI͸࢖͍΍͍͢ ɾଞͷࠓ෩ͷΞϓϦͱσβΠϯ͕ἧ͍ͬͯͯྑ͍

Slide 76

Slide 76 text

Android@pixiv ձࣾతʹྑ͍ ɾΞϓϦ΋ͪΌΜͱ࡞Γ͜ΜͰΔΞϐʔϧͰ͖Δ

Slide 77

Slide 77 text

No content

Slide 78

Slide 78 text

No content

Slide 79

Slide 79 text

Android@pixiv ɾେن໛ͳվमͩͬͨͷͰ ɹϦϦʔε͞Εͨ࣌ͷײಈ͕େ͖͔ͬͨ ஌ݟ

Slide 80

Slide 80 text

Android@pixiv ஌ݟ ɾIssueͱPRͷن໛͕๲େʹͳΓ͗ͨ͢ →ͳΔ΂͘ࡉ͔۠͘੾ͬͨํ͕ϨϏϡΞʔ͕ࠔΒͳ͍

Slide 81

Slide 81 text

Android@pixiv ஌ݟ ɾIssueͱPRͷن໛͕๲େʹͳΓ͗ͨ͢ →ͳΔ΂͘ࡉ͔۠͘੾ͬͨํ͕ϨϏϡΞʔ͕ࠔΒͳ͍ ϞόΠϧΞϓϦʹݶͬͨ࿩͡Όͳ͍͚Ͳ…

Slide 82

Slide 82 text

matome ɾϞόΠϧνʔϜ͸ϑοτϫʔΫ͕͍ܰ ! ɾ΍Γ͍ͨ͜ͱ͕࣮ݱ͠΍͘͢ɺ ɹϢʔβ͔ΒͷϨεϙϯε΋ૣ͍ ! ɾগͳ͘ͱ΋pixivͰ͸ͦΜͳײ͡Ͱ͢