Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
1ヶ月でAndroidカメラアプリ開発(1/4)
Search
sakebook
April 04, 2016
Programming
1
1.8k
1ヶ月でAndroidカメラアプリ開発(1/4)
Adobe Creative SDKを使った写真加工アプリの開発のスライドです。全4回。
sakebook
April 04, 2016
Tweet
Share
More Decks by sakebook
See All by sakebook
私とスクラム私とコミュニティ私とOST
sakebook
0
54
目指せKotlin 100%
sakebook
1
2.4k
Make full use of Chrome Custom Tabs
sakebook
3
3.2k
Chrome Custom Tabsを使いこなそう
sakebook
1
2.4k
1ヶ月でAndroidカメラアプリ開発(2/4)
sakebook
0
1.1k
1ヶ月でAndroidカメラアプリ開発(3/4)
sakebook
0
1k
1ヶ月でAndroidカメラアプリ開発(4/4)
sakebook
0
980
Other Decks in Programming
See All in Programming
個人開発の学生アプリが企業譲渡されるまで
akidon0000
0
1.1k
파급효과: From AI to Android Development
l2hyunwoo
0
140
Unlock the Potential of Swift Code Generation
rockname
0
280
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
410
MCP調べてみました! / Exploring MCP
uhzz
2
2.3k
GitHub Copilot for Azureを使い倒したい
ymd65536
1
210
複雑なフォームの jotai 設計 / Designing jotai(state) for Complex Forms #layerx_frontend
izumin5210
5
1.3k
Road to RubyKaigi: Making Tinny Chiptunes with Ruby
makicamel
4
490
一緒に働きたくなるプログラマの思想 #QiitaConference
mu_zaru
77
19k
The Missing Link in Angular’s Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
100
Jakarta EE Meets AI
ivargrimstad
0
420
Making TCPSocket.new "Happy"!
coe401_
1
2.3k
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Gamification - CAS2011
davidbonilla
81
5.2k
Designing for humans not robots
tammielis
253
25k
KATA
mclloyd
29
14k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
Side Projects
sachag
453
42k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
We Have a Design System, Now What?
morganepeng
52
7.5k
Transcript
̍ϲ݄Ͱ ANDROIDΧϝϥΞϓϦ։ൃ @Trunk ञຊ৳ 2016/3/13
͡Ίʹ
ࣗݾհ ञຊ৳ ੴݝ @sakebook Android 3͘Β͍ iOS ͪΐͬͱ ϥΠϑϩά͖
ຊͷྲྀΕ • ࡞ΔΞϓϦͷσϞ • Androidʹ͍ͭͯ • ։ൃڥઃఆ • ։ൃڥղઆ •
ΞϓϦͷσόοά • ιʔείʔυཧ • Adobe SDKಋೖ
࡞ΔΞϓϦͷσϞ
ANDROID
ANDROIDͱ • Google͕։ൃ͢ΔΦʔϓϯιʔεͳ ϞόΠϧ͚ϓϥοτϑΥʔϜ
ΞʔΩςΫνϟ https://ja.wikipedia.org/wiki/Android
όʔδϣϯ • ࡉ͔͍ͷΛؚΊΔͱ 20Ҏ্ͷछྨ (API LEVEL) • 4.1Ҏ͕߱90%ऑΛΊΔ (2015/6/1)
APK • ΞϓϦͷ֦ுࢠ • Application PaKage ͔Β͖͍ͯΔ • ։ൃͨ͠ΞϓϦ̋̋.apk ͱ͍͏ܗʹͳΔ
։ൃڥ
ANDROID STUDIO • Intellij IDEAΛϕʔεʹͨ͠౷߹։ൃڥ(IDE) • Google͕։ൃ • Androidͷ։ൃʹಛԽ •
Eclipseଔۀ͍ͯͩ͘͠͞(ADT͕։ൃऴྃ)
͊͞͡ΊΑ͏
NEW PROJECT • Application name • ΞϓϦͷ໊લ • Company Domain
• ࣗΛϢχʔΫʹ ͢ΔυϝΠϯ
NEW PROJECT • Package name • ΞϓϦΛϢχʔΫʹ ͢Δจࣈྻ • ଞͷΞϓϦͱॏෳېࢭ
• Project location • PCͷϓϩδΣΫτύε
NEW PROJECT • Phone and Tablet • API 16(4.1) •
Empty Activity • Activity ≒ ը໘ • ͦͷ··(ޙ͔ΒมߋՄೳ)
ϓϩδΣΫτߏ
• ϓϧμϯΛ Android -> Project ʹมߋ
• MyApplication(Root) • ϓϩδΣΫτϧʔτ • .gradle/ • ϩʔΧϧϦϙδτϦ • .idea/
• IDEͷઃఆঢ়گ
• build/ • Ϗϧυ࣌ͷ ϑΝΠϧஔ͖ • gradle/ • Ϗϧυʹඞཁͳ Gradleஔ͖
• .gitignore • gitͰཧ͠ͳ͍ͷΛ ࢦఆ • build.gradle • ϓϩδΣΫτͷ ґଘؔΛهड़
• gradle.properties • Gradle͕ ࢀর͢ΔϓϩύςΟ • gradlew • Linuxͷ Gradle࣮ߦϑΝΠϧ
• gradlew.bat • Windowsͷ Gradle࣮ߦϑΝΠϧ
• local.properties • ݸਓͷڥͷSDKͷ ύεͷઃఆ • MyApplication.iml • IntellijͷϑΝΠϧ •
setting.gradle • GradleͷϏϧυϞδϡʔϧΛهड़ • External Libraries • ϓϩδΣΫτͷ ֎͔Βࢀর͍ͯ͠Δ ϥΠϒϥϦ
• app/ • Ϟδϡʔϧ • app/libs • ϩʔΧϧϥΠϒϥϦ ஔ͖ •
app/build.gradle • ϞδϡʔϧͷϏϧυͷઃఆ ґଘؔΛهड़ • app/proguard-rules.pro • ಡԽʹ༻͍Δ
• src • ίϯύΠϧରͷ ϑΝΠϧஔ͖ • src/androidTest • ςετϑΝΠϧஔ͖ •
src/main/java • ιʔεϑΝΠϧஔ͖ • src/main/res • ϦιʔεϑΝΠϧஔ͖
• drawable • ը૾xmlΛஔ͘ॴ • layout • ϨΠΞτͷxmlΛ ஔ͘ॴ •
menu • ϝχϡʔͷxmlΛஔ͘ॴ • mipmap • ΞΠίϯը૾Λஔ͘ॴ
• dpi (Dot Per Inch: ը໘ີ) • mdpi(48x48) • hdpi(72x72)
• xhdpi(96x96) • xxhdpi(144x144)
• dimens.xml • จࣈͷαΠζ ༨നͷͳͲΛ ఆٛͰ͖Δ • strings.xml • ςΩετΛఆٛͰ͖Δ
• styles.xml • ΞϓϦͷςʔϚΛ هड़Ͱ͖Δ
• AndroidManifest.xml • ΞϓϦͱؒͷ Permission ActivityͳͲͷ ৼΔ͍ɺ Package nameͳͲ ༷ʑͳ͜ͱΛ
ઃఆͰ͖Δ
ANDROID STUDIO SETTING
ίʔυิ • ్த·Ͱೖྗ͢Δͱ༧ଌͰ ݱࡏར༻ՄೳͳީิΛදࣔͯ͘͠ΕΔ • Android Studio -> Preference ->
Keymap ->ʮCompletionʯ (͖ͳίϚϯυΛׂΓͯΔ)
ߦදࣔ • ϑΝΠϧͷࠨଆʹݱࡏͷߦΛ දࣔͯ͘͠ΕΔ • Android Studio -> Preference ->
Editor -> General -> Appearance -> ʮShow line numbersʯ (νΣοΫΛೖΕΔ)
GENERATE • ࣗಈੜͰ͖ΔͷͷγϣʔτΧοτ (⌘+n)
ࠔͬͨ࣌ • (Alt + Enter)ͰͦͷͰͰ͖Δ͜ͱΛ αδΣετͯ͘͠ΕΔ
ଞʹͨ͘͞Μ • http://qiita.com/sugoi_wada/items/ db449d5cbb5c83cb586c • http://qiita.com/takke/items/ 5cbc629f7f65d6a49906
Ϗϧυ
ϏϧυγεςϜ • Gradle • GroovyͰهड़Ͱ͖Δ • setting.gradleͰରͱͳΔϞδϡʔϧΛࢦఆ • app/build.gradleʹϏϧυ࣌ͷλεΫΛهड़ •
ίϚϯυϥΠϯ or ASͷػೳͰϏϧυ࣮ߦ
None
ίϚϯυϥΠϯ • $./gradlew assembleDebug • BuildType͕DebugͰϏϧυ͞ΕͨapkΛ app/build/outputs/apk ʹ࡞ • $./gradlew
installDebug • ରͷσόΠεʹapkΛΠϯετʔϧ
࣮ػ OR ΤϛϡϨʔλ
࣮ػ͕ͳ͚ΕΤϛϡϨʔλ • ७ਖ਼ͷͷ͋͘ͼ͕ग़Δ΄Ͳ͍ • 2.x͔Βૣ͘ͳΔΒ͍͠ɻ • GenymotionΛ͏
GENYMOTION • രͷΤϛϡϨʔλ • ແྉ൛ͩͱ੍ݶ͕͋Δ͕ɺ ௨ৗར༻ͳΒे • https://www.genymotion.com/
LOGCAT
LOGCAT • ଓ͞Ε͍ͯΔσόΠε͕ྲྀ͍ͯ͠ΔϩάΛ ऩूɾදࣔ͢Δػೳ
දࣔͤ͞Δ • ͬͱίʔυʹ৮Δʂʁ • 14ߦʹ Log.d(“Trunk”, “onCreate”);
͜͏͍͏ͱ͖͕ • Alt + Enterͷग़൪ʂ
දࣔ͞Εͨ • ݟ͚͕ ͭ͘Α͏ʹ ͳͬͨ
अຐͳͷΛഉআ͍ͨ͠ • FilterΛ࡞͢Δ
ݟ͘͢ͳͬͨʂ
͍͚ • 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) ʮΤϥʔʯ
BREAKPOINT
BREAK POINT • LogcatͩͱΫϥογϡͨ͠ॴͰɺଞͷ͕ Ͳ͏ͳ͍ͬͯΔ͔ͳͲ͕Θ͔Βͳ͍ • Ϋϥογϡ͢Δ͔ۙΒಈ͖Λ ͭͿ͞ʹ͍͍ͨʂ
DEBUG • ϓϩάϥϜΛ ࢭΊ͍ͨॴʹ ؙΛઃஔ • ʮhogeʯͷ ΛݟͯΈΔ
͓͍ͷσόΠεਖ਼ৗͰ͢ • σόΠεଆʹද͕ࣔ ͰΔ͕ͭ
εςοϓΦʔόʔ • 15ߦͰBreak • ࢭ·ͬͨߦ ͦͷ࣌Ͱ ධՁ͞Εͳ͍
• ʮhogeʯ͕ఆٛ ͞Ε͍ͯΔ
• ʮhogeʯͷ த͕”huga”ʹ ͳ͍ͬͯΔ
ෳઃஔͨ࣌͠ • ݱࡏͷ Breakpoint͔Β ൈ͚ͨΓଓΛ Δ͜ͱ Ͱ͖Δ
ιʔείʔυཧ
GIT • ࢄܕόʔδϣϯཧγεςϜ • GitHub • GitΛ༻͍ͨWebαʔϏε
Α͘͏ίϚϯυ • git status • git diff ϑΝΠϧ • git
checkout ϑΝΠϧ • git add ϑΝΠϧ • git commit -m “ϝοηʔδ” • git pull “ϦϞʔτϦϙδτϦͷURL” “ϩʔΧϧͷϒϥϯν໊” • git push “ϦϞʔτϦϙδτϦͷURL” “ϩʔΧϧͷϒϥϯν໊”
• git status • ݱࡏͷϒϥϯνͰ มߋ͕͋Δ͔Ͳ͏͔Λ֬ೝ • git diff ϑΝΠϧ
• ରͷϑΝΠϧͷ Ͳ͜ʹมߋ͕͋Δͷ͔Λ֬ೝ
• git checkout ϑΝΠϧ • ରͷϑΝΠϧͷ ϩʔΧϧϦϙδτϦͰͷมߋΛ͢ • git add
ϑΝΠϧ • ରͷϑΝΠϧΛcommitରʹ͢Δ
• git commit -m “ϝοηʔδ” • commitରʹͨ͠ϑΝΠϧͨͪΛ pushରʹ͢Δ • git
pull “ϦϞʔτϦϙδτϦͷURL” “ϩʔΧϧͷ ϒϥϯν໊” • ϦϞʔτϦϙδτϦͷมߋΛϩʔΧϧʹ өͤ͞Δ
• git push “ϦϞʔτϦϙδτϦͷURL” “ϩʔΧ ϧͷϒϥϯν໊” • pushରʹͨ͠ϑΝΠϧͨͪΛϦϞʔτ ϦϙδτϦpush͢Δ
~/.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 • Α͘͏ͷ ొ͓ͯ͘͠ͱศར
ৄ͘͠ • http://blog.nanapi.co.jp/tech/2014/04/23/git-love/
GITHUBʹొ͠Α͏ • ઌ΄Ͳ࡞ͨ͠ϓϩδΣΫτΛొ • GitHubͰదͳϦϙδτϦ࡞ • $git remote add origin
ϦϙδτϦ
ADOBE CREATIVE CLOUD
SDK • Software Development Kit • ࠓճͩͱAdobe͕ఏڙ͍ͯ͠ΔػೳΛɺΞϓϦ ʹΈࠐΉ͜ͱ͕Ͱ͖Δɻ • https://creativesdk.adobe.com/docs/android/#/articles/
gettingstarted/index.html • Ұॹʹઃఆ͠·͠ΐ͏