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カメラアプリ開発(3/4)
Search
sakebook
April 04, 2016
Programming
0
1.1k
1ヶ月でAndroidカメラアプリ開発(3/4)
Adobe Creative SDKを使った写真加工アプリの開発のスライドです。全4回。
sakebook
April 04, 2016
Tweet
Share
More Decks by sakebook
See All by sakebook
属人化を防ぎ、スプリントゴールを達成するために開発者が始めた取り組み
sakebook
0
86
私とスクラム私とコミュニティ私とOST
sakebook
0
78
目指せKotlin 100%
sakebook
1
2.5k
Make full use of Chrome Custom Tabs
sakebook
3
3.3k
Chrome Custom Tabsを使いこなそう
sakebook
1
2.5k
1ヶ月でAndroidカメラアプリ開発(1/4)
sakebook
1
1.9k
1ヶ月でAndroidカメラアプリ開発(2/4)
sakebook
0
1.1k
1ヶ月でAndroidカメラアプリ開発(4/4)
sakebook
0
1k
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
490
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
640
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
18
8.7k
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
380
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
4
16k
Go言語の特性を活かした公式MCP SDKの設計
hond0413
2
540
社会人になっても趣味開発を続けたい! / traPavilion
mazrean
1
100
One Enishi After Another
snoozer05
PRO
0
160
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
9
1.6k
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
560
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
190
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
650
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
A designer walks into a library…
pauljervisheath
209
24k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Facilitating Awesome Meetings
lara
57
6.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
620
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Typedesign – Prime Four
hannesfritz
42
2.8k
Agile that works and the tools we love
rasmusluckow
331
21k
Transcript
̍ϲ݄Ͱ ANDROIDΧϝϥΞϓϦ։ൃ @Trunk ञຊ৳ 2016/3/27
ຊͷྲྀΕ • ՝ͷ֬ೝ • Intent • Χϝϥݺͼग़͠ • ը૾ड͚औΓ •
ΪϟϥϦʔݺͼग़͠ • ΤσΟλʔىಈ • ը૾γΣΞ • (҉తIntentͷ݅ઃఆ)
՝ͷ֬ೝ
՝ • ͕ࣗ࡞Γ͍ͨΞϓϦͷϨΠΞτΛߟ͑ ࣮ͯ͠ΈΔ • ͕ࣗ࡞Γ͍ͨΞϓϦͷ͍͔ͭ͘ͷwidgetͰ ΠϕϯτϋϯυϦϯάΛઃఆ͢Δ
INTENT
INTENT • Activity(Component)ಉ࢜ͷΓͱΓʹ༻͍Δ • ผͷΞϓϦؒͰΓͱΓՄೳ • ༷ʑͳใΛ٧ΊΒΕΔ(੍ݶ͋Γ)
2छྨ͋Δ • ໌ࣔతIntent • ݺͼग़͍ͨ͠૬खΛComponent໊Ͱࢦఆ • ҉తIntent • ݺͼग़͍ͨ͠૬खΛػೳ͔Βࢦఆ
(ಥ)ֶߍʹྫ͑Δͱ • ໌ࣔతIntent • ʮࠤ౻͞Μͪΐͬͱདྷͯʯ • ରҰਓ • ҉తIntent •
ʮॏ͍ӡΔਓͪΐͬͱདྷͯʯ • ୭͕དྷΔ͔Θ͔Βͳ͍ • ෳਓདྷΔ߹͋Δ
Χϝϥݺͼग़͠
ͦͷ·͑ʹ • ΧϝϥONʹ͠ͳ͍ͱμϝ • ࣮ػͰͳ͍ͷͰ͓Εͳ͘
҉తINTENT • ʮΧϝϥ࣋ͬͯΔΞϓϦདྷͯʯ
ʮΧϝϥ࣋ͬͯΔΞϓϦདྷͯʯ • startActivityForResult • onActivityResultͰ ݁ՌΛड͚औΕΔݺͼग़͠ํ
• resultCode • Intent͕ظ௨Γऴ͔ྃͨ͠Ͳ͏͔
• requestCode • IntentΛૹͬͨૹ৴ݩΛผ͢Δࣈ
• data • IntentઌͰͷ݁Ռ͕٧ΊΒΕ͍ͯΔ (Nullable)
ը૾ड͚औΓ
BITMAPେ͖͍ • Bitmapը૾ͳͷͰ༰ྔ͕େ͖͍ • Intentʹ٧ΊΔʹ͍ۤ͠ • URIͰΓͱΓ͢Δ • https://ja.wikipedia.org/wiki/ Uniform_Resource_Identifier
ʮΧϝϥ࣋ͬͯΔΞϓϦདྷͯʯ • ʮͨͩ݁͠ՌfileUriʹೖΕ͍ͯͩ͘͞ʯ • Util.getOutputMediaFileUriͰ ݁ՌͷUriΛ࡞
URIΛੜ • GoogleͷνϡʔτϦΞϧ͔Βഈआ • https://developer.android.com/intl/ja/guide/ topics/media/camera.html#saving-media • આ໌ׂѪ
• fileUriʹͲΜͳ͕ೖ͍ͬͯΔͷ͔֬ೝͯ͠ ΈΑ͏ • ઌ΄ͲͱҟͳΓdatanullͳͷͰҙɻ
ΪϟϥϦʔݺͼग़͠
҉తINTENT • ʮը૾Ұཡ͕ݟ͍ͨʯ
ʮը૾Ұཡ͕ݟ͍ͨʯ • ݟ্ͨʹҰͭબ͍ͨ͠
• data.getData()Ͱ ΪϟϥϦʔ͔Βબͨ͠ը૾ͷUriΛऔಘ • ΧϝϥɾΪϟϥϦʔͲͪΒʹ͓͍ͯΤσΟ λʔىಈͷͨΊʹUriΛ͢
ΤσΟλʔىಈ
໌ࣔతINTENT • SDKͷComponentΛࢦఆ • ʮAviaryͷΤσΟλʔདྷͯʯ
ʮAVIARYͷΤσΟλʔདྷͯʯ • AdobeImageIntent • SDKͷΫϥε • Ճ͍ͨ͠ը૾ͷUriΛ͢
தΛݟΔͱ • AdobeImageIntent.class • AdobeImageEditorActivity.class • ಛఆͷCompomentΛࢦఆ͍ͯ͠Δɻ
• data.getData()ͰՃͨ͠ը૾ͷUriΛऔಘ • औಘͨ͠Uri͔ΒImageViewʹը૾Ληοτ
ը૾γΣΞ
҉తINTENT • ʮը૾ૹΓ͍ͨΜ͚ͩͲ୭͔ʯ
ʮը૾ૹΓ͍ͨΜ͚ͩͲ୭͔ʯ • setAction • ૹΓ͍ͨ • putExtra • ͢σʔλ •
setType • σʔλͷϑΥʔϚοτ
͜ΕͰಉ͡ • Χϝϥݺͼग़͠ʹࣅͯΔ
ڪΒͨ͘͘͞ΜԠ͢Δ • Twitter, Facebook, Instagram, LINE… • ͦͷબࢶ͕ԿΛҙຯ͢Δͷ͔ λΠτϧΛ͚ͭͯϢʔβʹ͔Γ͘͢͢Δ
None
• Intent.createChooserͰλΠτϧΛ͚ͭΒΕΔ • จࣈྻxmlͰఆٛͯ͠ಈతʹऔಘ͢Δɻ • res/values/strings.xml • جຊతʹϕλॻ͖͠ͳ͍
҉తINTENTͷ݅ઃఆ
Ͳ͏ͯ͠൴ΒԠ͢Δͷ͔ • ࣗͨͪͰ࡞ΕΔͷ͔ʁ ࡞Εͳ͍͕ͣͳ͍ɻ • ͔͜͠͠ͷΧϝϥΞϓϦ ԿʹԠ͠ͳ͍ • ҧ͍ʁ
ԠͰ͖Δ͜ͱΛهड़ • AndroidManifest.xmlʹ ͲͷComponent͕ ͳʹʹԠ͢Δͷ͔ఆٛ͢Δɻ
҉తINTENTͷ݅ઃఆ • ݅ઃఆ • Action • Category • Data
ACTION • ͲΜͳ͜ͱΛ͍ͤͨ͞ͷ͔ • Intent.ACTION_VIEW • ݟΔ • Intent.ACTION_SEND •
͢
CATEGORY • ͲΜͳΧςΰϦͷίϯϙʔωϯτʹ Ԡͯ͠Β͏͔ • Intent.CATEGORY_DEFAULT • ҉తIntentʹରԠ͍ͯ͠Δ • Intent.CATEGORY_LAUNCHER
• ϥϯνϟʔʹද͍ࣔͯ͠Δ
DATA • ίϯϙʔωϯτʹ͍ͨ͠Data • putExtra(String extra, Bundle data); • Intent.EXTRA_TEXT
• ACTION_SENDͰ͍ͨ͠Data(จࣈྻ) • Intent.EXTRA_STREAM • ACTION_SENDͰ͍ͨ͠Data(ϑΝΠϧύε)
DATA • setType(String mimeType) • ࣮ϑΝΠϧͤͳ͍ͷͰڭ͑Δඞཁ͕͋Δ • text/plain • ςΩετ
• image/jpeg • ը૾
ࢁ΄Ͳ͋Δ • https://developer.android.com/intl/ja/reference/ android/content/Intent.html
ઃఆྫ(ࣄྫͱͯ͠հ) • trunk://~ or http://~ ͷURLʹରͯ͠ɺ WebIntentActivityͱ͍͏ Component͕Ԡ͢Δ • ࣮ࡍड͚औͬͨޙͷॲཧඞཁ