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

Contributeしてない俺がDroidKaigiアプリについてゴニョゴニョ話す会

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for operandoOS operandoOS
February 28, 2018

 Contributeしてない俺がDroidKaigiアプリについてゴニョゴニョ話す会

Avatar for operandoOS

operandoOS

February 28, 2018
Tweet

More Decks by operandoOS

Other Decks in Technology

Transcript

  1. ߹ΘͤͯಡΈ͍ͨʂ • DroidKaigi 2018 App Architecture by takahirom • https://speakerdeck.com/takahirom/

    droidkaigi-2018-app-architecture • DroidKaigi ΞϓϦͷ಺෦ΛݟΔ by tatsuhama50 • https://www.slideshare.net/kenichitatsuhama/ droidkaigi-88921455
  2. @CheckResult Annotation “ϝιουͷ݁Ռ·ͨ͸໭Γ஋͕࣮ࡍʹ࢖༻͞Ε͍ͯ Δ͔Ͳ͏͔Λݕূ͢Δʹ͸ @CheckResult Ξϊςʔ γϣϯΛ࢖༻͠·͢ɻ
 
 ͢΂ͯͷඇ void

    ϝιουʹ @CheckResult Ξϊςʔ γϣϯΛ෇͚ΔͷͰ͸ͳ͘ɺෳࡶͳϝιουͷ݁Ռ Λ໌֬ʹ͢ΔͨΊʹΞϊςʔγϣϯΛ௥Ճ͠·͢ɻ”
  3. ࠃࡍԽΛҙࣝͨ͠Notification Channel “You can rename this channel when the system

    locale changes by listening for the ACTION_CHANGED broadcast.”
  4. ࠃࡍԽΛҙࣝͨ͠Notification Channel • Incomplete Implementation of Notification Channel • https://github.com/DroidKaigi/conference-

    app-2018/pull/406 • ʲAndroid Oʳ௨஌νϟϯωϧΛࠃࡍԽ͢Δ • https://qiita.com/Shiozawa/items/ 095e77d38fc00681e898
  5. resValue • app/build/generated/res/resValues/debug/ values഑Լʹੜ੒͞ΕΔ <?xml version="1.0" encoding="utf-8"?> <resources> <!-- Automatically

    generated file. DO NOT MODIFY --> <!-- Values from the variant --> <string name="versionInfo" translatable="false">1.0.0-debug</string> <!-- Values from build type: debug --> <string name="app_name" translatable="false">DroidKaigi 2018 Dev</string> </resources>
  6. ͋ͱͳΜ͔ΞϓϦΫϥογϡͨ͆͠ Shutting down VM FATAL EXCEPTION: main Process: io.github.droidkaigi.confsched2018, PID:

    11577 b.a at io.github.droidkaigi.confsched2018.presentation.feed.a.a$a.onPreDraw(FeedItem.kt:58) at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:977) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2349) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1392) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6752) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911) at android.view.Choreographer.doCallbacks(Choreographer.java:723) at android.view.Choreographer.doFrame(Choreographer.java:658) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
  7. ͞ΒʹಡΉͱ໘നͦ͏ͳͱ͜Ζ • FirebaseFirestore • Firestore offline͸ແޮԽͯ͠Δ • in memory cache͸͋Δʁ

    • https://firebase.google.com/docs/firestore/manage-data/enable- offline?hl=ja • ͍͍ͶʂΦϑϥΠϯͷঢ়ଶͰ։͘ͱΞϓϦͷProcess kill͢Δ·Ͱऔಘ Ͱ͖ͳ͍ʁʁ • ΦϯϥΠϯʹͯ͠ProcessϨϕϧͰΞϓϦ্ཱͪ͛௚͢ͱऔಘͰ͖Δ
  8. ࿩͔͚ͨͬͨ͠Ͳ࣌ؒͷ౎߹্ ࿩ͤͳ͔ͬͨ͜ͱ • EmojiCompat • Support LibraryͷDownloadable Fonts΍EmojiCompatʹରԠ
 ͨ͠ΞϓϦΛ࡞Ζ͏ by

    takahirom • https://speakerdeck.com/takahirom/support- libraryfalsedownloadable-fontsyaemojicompatnidui-ying- sitaapuriwozuo-rou • Resultύλʔϯ • FeedItemͳΜ͔bugͬͯΔ
  9. ࿩͔͚ͨͬͨ͠Ͳ࣌ؒͷ౎߹্ ࿩ͤͳ͔ͬͨ͜ͱ • NotificationHelper.kt • NotificationChannelTypeΑ͞ • Gradle Versions Plugin

    • ೖͬͯΔ͚ͲCIͱ͔Ͱ͸࢖ΘΕͯͳ͍ͷͰ๨Ε͕͚ͪͩͲΊͬͪΌศར • https://github.com/ben-manes/gradle-versions-plugin • AlarmManager.setAndAllowWhileIdle + Doze • https://qiita.com/FumihikoSHIROYAMA/items/ b1d6dbda120462d0e209
  10. ࿩͔͚ͨͬͨ͠Ͳ࣌ؒͷ౎߹্ ࿩ͤͳ͔ͬͨ͜ͱ • Open Source Notices • https://developers.google.com/android/guides/opensource • https://qiita.com/sho5nn/items/f63ebd7ccc0c86d98e4b

    • Kotlin DSL • https://github.com/gradle/kotlin-dsl • Kotlin + buildSrc for Better Gradle Dependency Management • https://handstandsam.com/2018/02/11/kotlin-buildsrc-for-better-gradle- dependency-management/ • Ϛϧν Ϟδϡʔϧ͔ͩΒόʔδϣϯͷ؅ཧ͸͜͏ͨ͠ํָ͕