Upgrade to Pro — share decks privately, control downloads, hide ads and more …

1ヶ月でAndroidカメラアプリ開発(3/4)

 1ヶ月でAndroidカメラアプリ開発(3/4)

Adobe Creative SDKを使った写真加工アプリの開発のスライドです。全4回。

sakebook

April 04, 2016
Tweet

More Decks by sakebook

Other Decks in Programming

Transcript

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

  2. ຊ೔ͷྲྀΕ • ՝୊ͷ֬ೝ • Intent • Χϝϥݺͼग़͠ • ը૾ड͚औΓ •

    ΪϟϥϦʔݺͼग़͠ • ΤσΟλʔىಈ • ը૾γΣΞ • (҉໧తIntentͷ৚݅ઃఆ)
  3. ՝୊ͷ֬ೝ

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

  5. INTENT

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

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

  8. (౜ಥ)ֶߍʹྫ͑Δͱ • ໌ࣔతIntent • ʮࠤ౻͞Μͪΐͬͱདྷͯʯ • ର৅͸Ұਓ • ҉໧తIntent •

    ʮॏ͍෺ӡ΂Δਓͪΐͬͱདྷͯʯ • ୭͕དྷΔ͔Θ͔Βͳ͍ • ෳ਺ਓདྷΔ৔߹΋͋Δ
  9. Χϝϥݺͼग़͠

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

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

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

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

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

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

  16. ը૾ड͚औΓ

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

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

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

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

  21. ΪϟϥϦʔݺͼग़͠

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

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

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

  25. ΤσΟλʔىಈ

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

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

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

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

  30. ը૾γΣΞ

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

  32. ʮը૾ૹΓ͍ͨΜ͚ͩͲ୭͔ʯ • setAction • ૹΓ͍ͨ • putExtra • ౉͢σʔλ •

    setType • σʔλͷϑΥʔϚοτ
  33. ͜ΕͰ΋ಉ͡ • Χϝϥݺͼग़͠ʹࣅͯΔ

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

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

  37. ҉໧తINTENTͷ৚݅ઃఆ

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

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

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

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

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

    • ϥϯνϟʔʹද͍ࣔͯ͠Δ
  43. DATA • ίϯϙʔωϯτʹ౉͍ͨ͠Data • putExtra(String extra, Bundle data); • Intent.EXTRA_TEXT

    • ACTION_SENDͰ౉͍ͨ͠Data(จࣈྻ) • Intent.EXTRA_STREAM • ACTION_SENDͰ౉͍ͨ͠Data(ϑΝΠϧύε)
  44. DATA • setType(String mimeType) • ࣮ϑΝΠϧ͸౉ͤͳ͍ͷͰڭ͑Δඞཁ͕͋Δ • text/plain • ςΩετ

    • image/jpeg • ը૾
  45. ࢁ΄Ͳ͋Δ • https://developer.android.com/intl/ja/reference/ android/content/Intent.html

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