Slide 1

Slide 1 text

̍ϲ݄Ͱ ANDROIDΧϝϥΞϓϦ։ൃ @Trunk ञຊ৳໵ 2016/3/27

Slide 2

Slide 2 text

ຊ೔ͷྲྀΕ • ՝୊ͷ֬ೝ • Intent • Χϝϥݺͼग़͠ • ը૾ड͚औΓ • ΪϟϥϦʔݺͼग़͠ • ΤσΟλʔىಈ • ը૾γΣΞ • (҉໧తIntentͷ৚݅ઃఆ)

Slide 3

Slide 3 text

՝୊ͷ֬ೝ

Slide 4

Slide 4 text

՝୊ • ࣗ෼͕࡞Γ͍ͨΞϓϦͷϨΠΞ΢τΛߟ͑ ࣮૷ͯ͠ΈΔ • ࣗ෼͕࡞Γ͍ͨΞϓϦͷ͍͔ͭ͘ͷwidgetͰ ΠϕϯτϋϯυϦϯάΛઃఆ͢Δ

Slide 5

Slide 5 text

INTENT

Slide 6

Slide 6 text

INTENT • Activity(Component)ಉ࢜ͷ΍ΓͱΓʹ༻͍Δ • ผͷΞϓϦؒͰ΋΍ΓͱΓՄೳ • ༷ʑͳ৘ใΛ٧ΊΒΕΔ(੍ݶ͋Γ)

Slide 7

Slide 7 text

2छྨ͋Δ • ໌ࣔతIntent • ݺͼग़͍ͨ͠૬खΛComponent໊Ͱࢦఆ • ҉໧తIntent • ݺͼग़͍ͨ͠૬खΛػೳ͔Βࢦఆ

Slide 8

Slide 8 text

(౜ಥ)ֶߍʹྫ͑Δͱ • ໌ࣔతIntent • ʮࠤ౻͞Μͪΐͬͱདྷͯʯ • ର৅͸Ұਓ • ҉໧తIntent • ʮॏ͍෺ӡ΂Δਓͪΐͬͱདྷͯʯ • ୭͕དྷΔ͔Θ͔Βͳ͍ • ෳ਺ਓདྷΔ৔߹΋͋Δ

Slide 9

Slide 9 text

Χϝϥݺͼग़͠

Slide 10

Slide 10 text

ͦͷ·͑ʹ • ΧϝϥONʹ͠ͳ͍ͱμϝ • ࣮ػͰ͸ͳ͍ͷͰ͓๨Εͳ͘

Slide 11

Slide 11 text

҉໧తINTENT • ʮΧϝϥ࣋ͬͯΔΞϓϦདྷͯʯ

Slide 12

Slide 12 text

ʮΧϝϥ࣋ͬͯΔΞϓϦདྷͯʯ • startActivityForResult • onActivityResultͰ
 ݁ՌΛड͚औΕΔݺͼग़͠ํ

Slide 13

Slide 13 text

• resultCode • Intent͕ظ଴௨Γऴ͔ྃͨ͠Ͳ͏͔

Slide 14

Slide 14 text

• requestCode • IntentΛૹͬͨૹ৴ݩΛ൑ผ͢Δ਺ࣈ

Slide 15

Slide 15 text

• data • IntentઌͰͷ݁Ռ͕٧ΊΒΕ͍ͯΔ (Nullable)

Slide 16

Slide 16 text

ը૾ड͚औΓ

Slide 17

Slide 17 text

BITMAP͸େ͖͍ • Bitmap͸ը૾ͳͷͰ༰ྔ͕େ͖͍ • Intentʹ٧ΊΔʹ͸͍ۤ͠ • URIͰ΍ΓͱΓ͢Δ • https://ja.wikipedia.org/wiki/ Uniform_Resource_Identifier

Slide 18

Slide 18 text

ʮΧϝϥ࣋ͬͯΔΞϓϦདྷͯʯ • ʮͨͩ݁͠Ռ͸fileUriʹೖΕ͍ͯͩ͘͞ʯ • Util.getOutputMediaFileUriͰ
 ݁ՌͷUriΛ࡞੒

Slide 19

Slide 19 text

URIΛੜ੒ • GoogleͷνϡʔτϦΞϧ͔Βഈआ • https://developer.android.com/intl/ja/guide/ topics/media/camera.html#saving-media • આ໌΋ׂѪ

Slide 20

Slide 20 text

• fileUriʹͲΜͳ஋͕ೖ͍ͬͯΔͷ͔֬ೝͯ͠ ΈΑ͏ • ઌ΄ͲͱҟͳΓdata͸nullͳͷͰ஫ҙɻ

Slide 21

Slide 21 text

ΪϟϥϦʔݺͼग़͠

Slide 22

Slide 22 text

҉໧తINTENT • ʮը૾Ұཡ͕ݟ͍ͨʯ

Slide 23

Slide 23 text

ʮը૾Ұཡ͕ݟ͍ͨʯ • ݟ্ͨʹҰͭબ୒͍ͨ͠

Slide 24

Slide 24 text

• data.getData()Ͱ
 ΪϟϥϦʔ͔Βબ୒ͨ͠ը૾ͷUriΛऔಘ • ΧϝϥɾΪϟϥϦʔͲͪΒʹ͓͍ͯ΋ΤσΟ λʔىಈͷͨΊʹUriΛ౉͢

Slide 25

Slide 25 text

ΤσΟλʔىಈ

Slide 26

Slide 26 text

໌ࣔతINTENT • SDKͷComponentΛࢦఆ • ʮAviaryͷΤσΟλʔདྷͯʯ

Slide 27

Slide 27 text

ʮAVIARYͷΤσΟλʔདྷͯʯ • AdobeImageIntent • SDKͷΫϥε • Ճ޻͍ͨ͠ը૾ͷUriΛ౉͢

Slide 28

Slide 28 text

தΛݟΔͱ • AdobeImageIntent.class • AdobeImageEditorActivity.class • ಛఆͷCompomentΛࢦఆ͍ͯ͠Δɻ

Slide 29

Slide 29 text

• data.getData()ͰՃ޻ͨ͠ը૾ͷUriΛऔಘ • औಘͨ͠Uri͔ΒImageViewʹը૾Ληοτ

Slide 30

Slide 30 text

ը૾γΣΞ

Slide 31

Slide 31 text

҉໧తINTENT • ʮը૾ૹΓ͍ͨΜ͚ͩͲ୭͔ʯ

Slide 32

Slide 32 text

ʮը૾ૹΓ͍ͨΜ͚ͩͲ୭͔ʯ • setAction • ૹΓ͍ͨ • putExtra • ౉͢σʔλ • setType • σʔλͷϑΥʔϚοτ

Slide 33

Slide 33 text

͜ΕͰ΋ಉ͡ • Χϝϥݺͼग़͠ʹࣅͯΔ

Slide 34

Slide 34 text

ڪΒͨ͘͘͞Μ൓Ԡ͢Δ • Twitter, Facebook, Instagram, LINE… • ͦͷબ୒ࢶ͕ԿΛҙຯ͢Δͷ͔
 λΠτϧΛ͚ͭͯϢʔβʹ෼͔Γ΍͘͢͢Δ

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

• Intent.createChooserͰλΠτϧΛ͚ͭΒΕΔ • จࣈྻ͸xmlͰఆٛͯ͠ಈతʹऔಘ͢Δɻ • res/values/strings.xml • جຊతʹϕλॻ͖͸͠ͳ͍

Slide 37

Slide 37 text

҉໧తINTENTͷ৚݅ઃఆ

Slide 38

Slide 38 text

Ͳ͏ͯ͠൴Β͸൓Ԡ͢Δͷ͔ • ࣗ෼ͨͪͰ΋࡞ΕΔͷ͔ʁ
 ࡞Εͳ͍͸͕ͣͳ͍ɻ • ͔͜͠͠ͷΧϝϥΞϓϦ͸
 Կʹ΋൓Ԡ͠ͳ͍ • ҧ͍͸ʁ

Slide 39

Slide 39 text

൓ԠͰ͖Δ͜ͱΛهड़ • AndroidManifest.xmlʹ
 ͲͷComponent͕
 ͳʹʹ൓Ԡ͢Δͷ͔ఆٛ͢Δɻ

Slide 40

Slide 40 text

҉໧తINTENTͷ৚݅ઃఆ • ৚݅ઃఆ • Action • Category • Data

Slide 41

Slide 41 text

ACTION • ͲΜͳ͜ͱΛ͍ͤͨ͞ͷ͔ • Intent.ACTION_VIEW • ݟΔ • Intent.ACTION_SEND • ౉͢

Slide 42

Slide 42 text

CATEGORY • ͲΜͳΧςΰϦͷίϯϙʔωϯτʹ
 Ԡ౴ͯ͠΋Β͏͔ • Intent.CATEGORY_DEFAULT • ҉໧తIntentʹରԠ͍ͯ͠Δ • Intent.CATEGORY_LAUNCHER • ϥϯνϟʔʹද͍ࣔͯ͠Δ

Slide 43

Slide 43 text

DATA • ίϯϙʔωϯτʹ౉͍ͨ͠Data • putExtra(String extra, Bundle data); • Intent.EXTRA_TEXT • ACTION_SENDͰ౉͍ͨ͠Data(จࣈྻ) • Intent.EXTRA_STREAM • ACTION_SENDͰ౉͍ͨ͠Data(ϑΝΠϧύε)

Slide 44

Slide 44 text

DATA • setType(String mimeType) • ࣮ϑΝΠϧ͸౉ͤͳ͍ͷͰڭ͑Δඞཁ͕͋Δ • text/plain • ςΩετ • image/jpeg • ը૾

Slide 45

Slide 45 text

ࢁ΄Ͳ͋Δ • https://developer.android.com/intl/ja/reference/ android/content/Intent.html

Slide 46

Slide 46 text

ઃఆྫ(ࣄྫͱͯ͠঺հ) • trunk://~ or http://~ ͷURLʹରͯ͠ɺ
 WebIntentActivityͱ͍͏
 Component͕൓Ԡ͢Δ • ࣮ࡍ͸ड͚औͬͨޙͷॲཧ΋ඞཁ