ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

Embed Size (px)

Citation preview

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    1/20

    Membangun AplikasiAndroid yang EventResponsive dan Real Time

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    2/20

    Hi, Saya Sidiq•

    Chief nnovation !"#er at $usantara %eta • &oogle 'eveloper E(pert for Android

    • ntel Android Soft)are nnovator

    • 'eveloper Menga*ar nitiator

    •'+Android+'ev Te#hTalk Co+nitiator

    • assionate #oder, mentor, traveller and div

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    3/20

    Responsive App - !bserver attern di Android%agaimana&reenRobot Event%us %eker*a

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    4/20

    !bserver attern

    Hubungan dependensi antar obyek yang bersifat sabanyak dalam sebuah aplikasi yang *ika terdapat pepada sebuah ob*ek maka semua obyek yang behubumenerima noti.kasi dan melakukan proses update teperubahan tersebut se#ara otomatis/

    Class A0ublisher1

    Class %0Subs#riber1

    Class C0Subs#riber1

    Changes

    $oti.es

    'o

    'o

    3

    4

    5

    Rea#t of

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    5/20

    &ambaran di 2M6 'iagram

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    6/20

    Hal yang perlu diperhatikan

    Setiap obyek bisa men*adi publisher sekaligus sutergantung dari sudut pandang dependensi dan sevent yang ada

    • !byek yang diamati disebut subyek dan obyek yamengamati disebut observer7listener

    Setiap obyek yang akan men*adi observer harusdiregistrasikan terlebih dahulu 0di android padaonCreate017onResume011 dan dinonaktifkan 0deregketika obyek akan dimusnakan dari memory 0di amethod on'estroy011

    • Setiap obyek turunan observable )a*id didaftarka

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    7/20

    Manfaat Observer Pattern

    Mempermudah komunikasi antar komponefragment, a#tivity dan servi#e

    • Aplikasi dapat lebih reaktif7responsif terhadperubahan event7state yang ada/ Misal - updata dari )ebservi#e dan lo#al database

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    8/20

    Contoh Kasus

    Class A0ublisher1

    Class %0Subs#riber1

    Class C0Subs#riber1

    Changes

    $oti.es

    'oes

    'oe

    3

    4

    5

    Rea#t of n

     memiliki 5 A#tivity yang mengimplementasikan !bserverivity A akan melakukan perubahan terhadap sebuah obyekivity % dan A#tivity C akan menerima perubahan tersebut dan bereaksi se#ara otomaap perubahan yang ter*adi

    le tersedia di https://github.com/sidipermana/!ample

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    9/20

    "acaan #an$utan

    http-77)))/vogella/#om7tutorials7'esignattern!bi#le/html

    • http-77)))/tutorialspoint/#om7design9pattern7obs

    tern/htm• http-77

    )))/#odepro*e#t/#om7Arti#les7:;:;

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    10/20

    Penggunaan%reen&obot'ventbus

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    11/20

    %reen&obot 'vent"us

    mplementasi dari !bserverattern dalam blibrary pada Android

    • Memudahkan komunikasi antar komponen A#tivity, Servi#e, >ragment dan %a#kgroundserta melakukan optimasi proses didalamn

    • 6ess #ode, better quality/ And you don?t neeimplement a single interfa#e@

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    12/20

    Cara ker$a 'vent"us

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    13/20

    Contoh Kasus (modi)kasi denga'vent"us*

    Class A0ublisher1

    Class %0Subs#riber1

    Class C0Subs#riber1

    Changes

    $oti.es

    'oes

    'oes

    3

    4

    5

    Rea#t of no

     memiliki 5 A#tivity yang meng+instan#e obyek Event%usivity A akan melakukan perubahan terhadap sebuah obyekivity % dan A#tivity C akan menerima perubahan tersebut dan bereaksi se#ara otomaap perubahan yang ter*adi

    le tersedia di - https-77github/#om7sidiqpermana7Sample&reenRobot

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    14/20

    "acaan #an$utan

    • http-77#odentri#k/#om7observer+pattern+in+mobile+d+noti.#ation#enter7

    • https-77github/#om7greenrobot7Event%us

    • https-77greenrobot/github/io7Event%us7

    • https-77

    github/#om7greenrobot7Event%us7blob7master7H!• https-77

    github/#om7greenrobot7Event%us7blob7master7C!md

    • http-77#ode/tutsplus/#om7tutorials7qui#k+tip+ho)+to

    entbus+library++

    https://github.com/greenrobot/EventBushttps://github.com/greenrobot/EventBushttps://github.com/greenrobot/EventBushttps://greenrobot.github.io/EventBus/https://github.com/greenrobot/EventBus/blob/master/HOWTO.mdhttps://github.com/greenrobot/EventBus/blob/master/HOWTO.mdhttps://github.com/greenrobot/EventBus/blob/master/COMPARISON.mdhttps://github.com/greenrobot/EventBus/blob/master/COMPARISON.mdhttps://github.com/greenrobot/EventBus/blob/master/COMPARISON.mdhttp://code.tutsplus.com/tutorials/quick-tip-how-to-use-the-eventbus-library--cms-22694http://code.tutsplus.com/tutorials/quick-tip-how-to-use-the-eventbus-library--cms-22694http://code.tutsplus.com/tutorials/quick-tip-how-to-use-the-eventbus-library--cms-22694http://code.tutsplus.com/tutorials/quick-tip-how-to-use-the-eventbus-library--cms-22694http://code.tutsplus.com/tutorials/quick-tip-how-to-use-the-eventbus-library--cms-22694https://github.com/greenrobot/EventBus/blob/master/COMPARISON.mdhttps://github.com/greenrobot/EventBus/blob/master/COMPARISON.mdhttps://github.com/greenrobot/EventBus/blob/master/COMPARISON.mdhttps://github.com/greenrobot/EventBus/blob/master/HOWTO.mdhttps://github.com/greenrobot/EventBus/blob/master/HOWTO.mdhttps://greenrobot.github.io/EventBus/https://greenrobot.github.io/EventBus/https://github.com/greenrobot/EventBushttps://github.com/greenrobot/EventBushttps://github.com/greenrobot/EventBushttps://github.com/greenrobot/EventBushttps://github.com/greenrobot/EventBus

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    15/20

    &eal +ime +rackingdengan ,irebase %eo

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    16/20

    &ealtime dengan ,irebase

    >irebase merupakan sebuah platform #loudyang mena)arkan layanan Real Time databauthenti.kasi, dan hosting

    • Contoh yang paling relevan adalah messag#hatting

    • Silakan ke https-77)))/.rebase/#om7 untukdetail

    • kuti kursus gratisnya dihttps-77)))/uda#ity/#om7#ourse7.rebase+es

    r+android++

    https://www.firebase.com/https://www.firebase.com/https://www.udacity.com/course/firebase-essentials-for-android--ud009https://www.udacity.com/course/firebase-essentials-for-android--ud009https://www.udacity.com/course/firebase-essentials-for-android--ud009https://www.udacity.com/course/firebase-essentials-for-android--ud009https://www.firebase.com/https://www.firebase.com/

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    17/20

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    18/20

    -mplementasi %eo,ire

    Co#ok untuk digunakan dalam aplikasi geomonitoring seperti aplikasi transportasi 0yakekinian, gak mau mensyen -'1 atau Tra#ki&ebetan, Mantan, Modusan, atau stri 8am

    • 2mumnya dikombinasikan dengan >used6o

    S#heduler Servi#e dan &oogle Maps

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    19/20

  • 8/19/2019 ID Android Dev Talk -- Observer Pattern, Event Bus Usage, Firebase&Geofire

    20/20

    Matur 0u1un