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

mobilemethod-osaka-2018-11-09-jakalada-android

Hideki Hamada
November 09, 2018

 mobilemethod-osaka-2018-11-09-jakalada-android

モバイルメソッド大阪 第4回 登壇資料「AndroidアプリのターゲットAPIレベルを上げたときのなんやかんや」

Hideki Hamada

November 09, 2018
Tweet

More Decks by Hideki Hamada

Other Decks in Technology

Transcript

  1. ίʔυωʔϜͱ͓ͯ͠՛ࢠͷ໊લ͕෇͍ͯΔ "OESPJE$VQDBLF ΧοϓέʔΩ   "OESPJE0SFP ΦϨΦ  "OESPJE1JF ύΠ

    https://developers-jp.googleblog.com/2017/12/improving-app-security-and-performance.html
  2. ։ൃ؀ڥ ରԠલ ରԠޙ *%& &DMJQTF "%5 "OESPJE4UVEJP ݴޠ +BWB ͦͷ··

    ೥຤ ਖ਼ࣜ൛ϦϦʔε ೥຤ αϙʔτऴྃ
  3. ։ൃ؀ڥ ରԠલ ରԠޙ *%& &DMJQTF "%5 "OESPJE4UVEJP ݴޠ +BWB ͦͷ··

    Ҡߦ͢Δͱͨ͠Β গͣͭ͠,PUMJO Ұؾʹ,PUMJO
  4. Ϗϧυπʔϧ ରԠલ ରԠޙ (SBEMF ະ࢖༻  "OESPJEQMVHJOGPS (SBEMF ະ࢖༻ 

    CVJME5PPMT7FSTJPO ෆ໌  "OESPJE4UVEJP΁ͷҠߦ࣌ʹ ࠷৽൛͕ࢦఆ͞Εͨ
  5. build.gradle android { // ... compileSdkVersion 28 defaultConfig { //

    ... targetSdkVersion 28 } } dependencies { // ... implementation 'com.android.support:appcompat-v7:28.0.0' }
  6. λʔήοτAPIϨϕϧؔ࿈ ରԠલ ରԠޙ UBSHFU4EL7FSTJPO   DPNQJMF4EL7FSTJPO ෆ໌  BQQDPNQBUW

    ෆ໌  ݹ͍4%,͸৽͍͠4%,Λ஌Βͳ͍ DPNQJMF4EL7FSTJPO͸ UBSHFU4EL7FSTJPOҎ্
  7. λʔήοτAPIϨϕϧؔ࿈ ରԠલ ରԠޙ UBSHFU4EL7FSTJPO   DPNQJMF4EL7FSTJPO ෆ໌  BQQDPNQBUW

    ෆ໌  όʔδϣϯ͕ҟͳΔͱ ҟৗಈ࡞͢Δʢ͔΋ʣ DPNQJMF4EL7FSTJPOͱ BQQDPNQBUWͷόʔδϣϯ͸ಉ͡
  8. build.gradle android { // ... compileSdkVersion 19 defaultConfig { //

    ... targetSdkVersion 19 } } dependencies { // ... implementation 'com.android.support:appcompat-v7:19.1.0' } ελʔτ஍఺ 
  9. build.gradle android { // ... compileSdkVersion 28 defaultConfig { //

    ... targetSdkVersion 28 } } dependencies { // ... implementation 'com.android.support:appcompat-v7:28.0.0' } ΰʔϧ 
  10. ࢖༻ྫ @RuntimePermissions public class MainActivity extends AppCompatActivity { @NeedsPermission(Manifest.permission.CAMERA) void

    showCamera() { // ... } @OnShowRationale(Manifest.permission.CAMERA) void showRationaleForCamera(final PermissionRequest request) { // ... } @OnPermissionDenied(Manifest.permission.CAMERA) void showDeniedForCamera() { // ... } @OnNeverAskAgain(Manifest.permission.CAMERA) void showNeverAskForCamera() { // ... } } https://github.com/permissions-dispatcher/PermissionsDispatcher
  11. AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest ... > ... <application ...

    > <uses-library android:name="org.apache.http.legacy" android:required="false"/> ... </application> </manifest> ࢀߟ: https://developer.android.com/about/versions/pie/android-9.0-changes-28
  12. Ұཡ "1*Ϩϕϧ 04όʔδϣϯ ग़͖ͯͨ՝୊   —   PSHBQBDIFIUUQͷ࡟আ

    ࣮ߦ࣌ύʔϛογϣϯͷ࢓༷௥Ճ   $POUFOU3FTPMWFSBEE1FSJPEJD4ZODͷ࢓༷มߋ   —   "DUJPO#BS"DUJWJUZͷ࡟আ   —   PSHBQBDIFIUUQMFHBDZͷ࡟আ