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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
sakebook
April 04, 2016
Programming
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
1ヶ月でAndroidカメラアプリ開発(3/4)
Adobe Creative SDKを使った写真加工アプリの開発のスライドです。全4回。
sakebook
April 04, 2016
More Decks by sakebook
See All by sakebook
属人化を防ぎ、スプリントゴールを達成するために開発者が始めた取り組み
sakebook
0
180
私とスクラム私とコミュニティ私とOST
sakebook
0
110
目指せKotlin 100%
sakebook
1
2.6k
Make full use of Chrome Custom Tabs
sakebook
3
3.5k
Chrome Custom Tabsを使いこなそう
sakebook
1
2.5k
1ヶ月でAndroidカメラアプリ開発(1/4)
sakebook
1
1.9k
1ヶ月でAndroidカメラアプリ開発(2/4)
sakebook
0
1.2k
1ヶ月でAndroidカメラアプリ開発(4/4)
sakebook
0
1k
Other Decks in Programming
See All in Programming
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.7k
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
0
210
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
620
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
210
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
Oxlintはいいぞ(続)
yug1224
1
540
Building an Out-of-Order CPU
latte72
0
650
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
260
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
0
400
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
500
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
1
470
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
810
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Marketing to machines
jonoalderson
1
5.7k
The SEO identity crisis: Don't let AI make you average
varn
0
550
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
Between Models and Reality
mayunak
4
450
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
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͕Ԡ͢Δ • ࣮ࡍड͚औͬͨޙͷॲཧඞཁ