際際滷

際際滷Share a Scribd company logo
Loader
+Handaru Sakti
Intoduction
   Asynchronously load data in an activity or
    fragment.
   Automatically reconnect to the last their cursor
    when being recreated after a configuration
    change (like screen flips). Thus, they don't need
    to re-query their data.
   Introduced in Honeycomb, exist on Android
    Support Package v-4.
Involved Classes and Interfaces
   LoaderManager
   LoaderManager.LoaderCallbacks
   Loader
   AsyncTaskLoader
   CursorLoader
Common Approach...
   LoaderManager to initialize a Loader. There is
    only one LoaderManager per activity or
    fragment, but a LoaderManager can have
    multiple loaders.
   LoaderManager.LoaderCallbacks: a callback
    interface for a client to interact with the
    LoaderManager.
   Loader: an abstract class that performs
    asynchronous loading of data. This is the base
    class for a loader.
...Common Approach
   AsyncTaskLoader: abstract loader that provides
    an AsyncTask to do the work.
   A CursorLoader used to load data which
    backed by a ContentProvider. Alternatively,
    implement a subclass of Loader or
    AsyncTaskLoader to load data from some other
    source.
   A SimpleCursorAdapter used to display the
    loaders data.
Implementation
   Starting a Loader
       getLoaderManager().initLoader(0, null, this);
       Within Activity via onCreate() method.
       Within Fragment via onActivityCreated() method.
   Restarting a Loader
       getLoaderManager().restartLoader(0, null, this);
Using the LoaderManager Callbacks
LoaderManager.LoaderCallbacks includes these
methods:
     onCreateLoader()  Instantiate and return a new
      Loader for the given ID.
     onLoadFinished()  Called when a previously
      created Loader has finished its load.
     onLoaderReset()  Called when a previously
      created Loader is being reset, thus making its data.
DEMO LoaderTest
References
   http://developer.android.com/guide/components
    /loaders.html
   http://developer.android.com/reference/android/
    content/Loader.html
Ad

More Related Content

What's hot (8)

Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)
Mike Melusky
Docker quick start
Docker quick startDocker quick start
Docker quick start
Lalatendu Mohanty
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
NETWAYS
Kolla Onboarding (Vancouver 2018)
Kolla Onboarding (Vancouver 2018)Kolla Onboarding (Vancouver 2018)
Kolla Onboarding (Vancouver 2018)
Paul Bourke
Kubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF WebinarKubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF Webinar
Etienne Tremel
Kolla Project Update (Vancouver 2018)
Kolla Project Update (Vancouver 2018)Kolla Project Update (Vancouver 2018)
Kolla Project Update (Vancouver 2018)
Paul Bourke
Helm - Application deployment management for Kubernetes
Helm - Application deployment management for KubernetesHelm - Application deployment management for Kubernetes
Helm - Application deployment management for Kubernetes
Alexei Ledenev
丶亂 束Crash course on Operator Framework損 Lviv DevOps Conference 2019
 丶亂 束Crash course on Operator Framework損 Lviv DevOps Conference 2019 丶亂 束Crash course on Operator Framework損 Lviv DevOps Conference 2019
丶亂 束Crash course on Operator Framework損 Lviv DevOps Conference 2019
UA DevOps Conference
Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)
Mike Melusky
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
NETWAYS
Kolla Onboarding (Vancouver 2018)
Kolla Onboarding (Vancouver 2018)Kolla Onboarding (Vancouver 2018)
Kolla Onboarding (Vancouver 2018)
Paul Bourke
Kubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF WebinarKubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF Webinar
Etienne Tremel
Kolla Project Update (Vancouver 2018)
Kolla Project Update (Vancouver 2018)Kolla Project Update (Vancouver 2018)
Kolla Project Update (Vancouver 2018)
Paul Bourke
Helm - Application deployment management for Kubernetes
Helm - Application deployment management for KubernetesHelm - Application deployment management for Kubernetes
Helm - Application deployment management for Kubernetes
Alexei Ledenev
丶亂 束Crash course on Operator Framework損 Lviv DevOps Conference 2019
 丶亂 束Crash course on Operator Framework損 Lviv DevOps Conference 2019 丶亂 束Crash course on Operator Framework損 Lviv DevOps Conference 2019
丶亂 束Crash course on Operator Framework損 Lviv DevOps Conference 2019
UA DevOps Conference

Viewers also liked (6)

Reduirisidoroandres compatible
Reduirisidoroandres compatibleReduirisidoroandres compatible
Reduirisidoroandres compatible
Mar Caston Palacio
My Storial
My StorialMy Storial
My Storial
Handaru Sakti
Storial - Be Storyteller
Storial - Be StorytellerStorial - Be Storyteller
Storial - Be Storyteller
Handaru Sakti
Fisikawan dan Dunia Kerja
Fisikawan dan Dunia KerjaFisikawan dan Dunia Kerja
Fisikawan dan Dunia Kerja
Handaru Sakti
Why Functional Programming Is Important in Big Data Era
Why Functional Programming Is Important in Big Data EraWhy Functional Programming Is Important in Big Data Era
Why Functional Programming Is Important in Big Data Era
Handaru Sakti
SAH2H PPT
SAH2H PPTSAH2H PPT
SAH2H PPT
Handaru Sakti
Reduirisidoroandres compatible
Reduirisidoroandres compatibleReduirisidoroandres compatible
Reduirisidoroandres compatible
Mar Caston Palacio
Storial - Be Storyteller
Storial - Be StorytellerStorial - Be Storyteller
Storial - Be Storyteller
Handaru Sakti
Fisikawan dan Dunia Kerja
Fisikawan dan Dunia KerjaFisikawan dan Dunia Kerja
Fisikawan dan Dunia Kerja
Handaru Sakti
Why Functional Programming Is Important in Big Data Era
Why Functional Programming Is Important in Big Data EraWhy Functional Programming Is Important in Big Data Era
Why Functional Programming Is Important in Big Data Era
Handaru Sakti
Ad

Similar to Loader (20)

Lecture #4 c loaders and co.
Lecture #4 c   loaders and co.Lecture #4 c   loaders and co.
Lecture #4 c loaders and co.
Vitali Pekelis
Loaders (and why we should use them)
Loaders (and why we should use them)Loaders (and why we should use them)
Loaders (and why we should use them)
Michael Pustovit
Android Loaders : Reloaded
Android Loaders : ReloadedAndroid Loaders : Reloaded
Android Loaders : Reloaded
cbeyls
Android Jam - Loaders - Udacity Lesson 4c
Android Jam - Loaders - Udacity Lesson 4cAndroid Jam - Loaders - Udacity Lesson 4c
Android Jam - Loaders - Udacity Lesson 4c
Paul Blundell
Deep dive into Android async operations
Deep dive into Android async operationsDeep dive into Android async operations
Deep dive into Android async operations
Mateusz Grzechociski
Android Jam - ContentProviders - Udacity Lesson 4b
Android Jam - ContentProviders - Udacity Lesson 4bAndroid Jam - ContentProviders - Udacity Lesson 4b
Android Jam - ContentProviders - Udacity Lesson 4b
Paul Blundell
Performance #6 threading
Performance #6  threadingPerformance #6  threading
Performance #6 threading
Vitali Pekelis
Android App Development - 07 Threading
Android App Development - 07 ThreadingAndroid App Development - 07 Threading
Android App Development - 07 Threading
Diego Grancini
Session #6 loaders and adapters
Session #6  loaders and adaptersSession #6  loaders and adapters
Session #6 loaders and adapters
Vitali Pekelis
android ch5.pptx
android ch5.pptxandroid ch5.pptx
android ch5.pptx
mohamedMoktarMohamed
Android Database
Android DatabaseAndroid Database
Android Database
Dr Karthikeyan Periasamy
Android concurrency
Android concurrencyAndroid concurrency
Android concurrency
Ruslan Novikov
Paging using Paging 3
Paging using Paging 3Paging using Paging 3
Paging using Paging 3
Fandy Gotama
Paging Like A Pro
Paging Like A ProPaging Like A Pro
Paging Like A Pro
Gabor Varadi
Mobile application Development-UNIT-V (1).pptx
Mobile application Development-UNIT-V (1).pptxMobile application Development-UNIT-V (1).pptx
Mobile application Development-UNIT-V (1).pptx
JayasimhaThummala1
Reactive programming on Android
Reactive programming on AndroidReactive programming on Android
Reactive programming on Android
Tom叩邸 Kypta
Show loader to open url in web view
Show loader to open url in web viewShow loader to open url in web view
Show loader to open url in web view
Aravindharamanan S
Data Transfer between Activities & Databases
Data Transfer between Activities & DatabasesData Transfer between Activities & Databases
Data Transfer between Activities & Databases
Muhammad Sajid
Android session-5-sajib
Android session-5-sajibAndroid session-5-sajib
Android session-5-sajib
Hussain Behestee
Android Data Persistence
Android Data PersistenceAndroid Data Persistence
Android Data Persistence
Romain Rochegude
Lecture #4 c loaders and co.
Lecture #4 c   loaders and co.Lecture #4 c   loaders and co.
Lecture #4 c loaders and co.
Vitali Pekelis
Loaders (and why we should use them)
Loaders (and why we should use them)Loaders (and why we should use them)
Loaders (and why we should use them)
Michael Pustovit
Android Loaders : Reloaded
Android Loaders : ReloadedAndroid Loaders : Reloaded
Android Loaders : Reloaded
cbeyls
Android Jam - Loaders - Udacity Lesson 4c
Android Jam - Loaders - Udacity Lesson 4cAndroid Jam - Loaders - Udacity Lesson 4c
Android Jam - Loaders - Udacity Lesson 4c
Paul Blundell
Deep dive into Android async operations
Deep dive into Android async operationsDeep dive into Android async operations
Deep dive into Android async operations
Mateusz Grzechociski
Android Jam - ContentProviders - Udacity Lesson 4b
Android Jam - ContentProviders - Udacity Lesson 4bAndroid Jam - ContentProviders - Udacity Lesson 4b
Android Jam - ContentProviders - Udacity Lesson 4b
Paul Blundell
Performance #6 threading
Performance #6  threadingPerformance #6  threading
Performance #6 threading
Vitali Pekelis
Android App Development - 07 Threading
Android App Development - 07 ThreadingAndroid App Development - 07 Threading
Android App Development - 07 Threading
Diego Grancini
Session #6 loaders and adapters
Session #6  loaders and adaptersSession #6  loaders and adapters
Session #6 loaders and adapters
Vitali Pekelis
Android concurrency
Android concurrencyAndroid concurrency
Android concurrency
Ruslan Novikov
Paging using Paging 3
Paging using Paging 3Paging using Paging 3
Paging using Paging 3
Fandy Gotama
Paging Like A Pro
Paging Like A ProPaging Like A Pro
Paging Like A Pro
Gabor Varadi
Mobile application Development-UNIT-V (1).pptx
Mobile application Development-UNIT-V (1).pptxMobile application Development-UNIT-V (1).pptx
Mobile application Development-UNIT-V (1).pptx
JayasimhaThummala1
Reactive programming on Android
Reactive programming on AndroidReactive programming on Android
Reactive programming on Android
Tom叩邸 Kypta
Show loader to open url in web view
Show loader to open url in web viewShow loader to open url in web view
Show loader to open url in web view
Aravindharamanan S
Data Transfer between Activities & Databases
Data Transfer between Activities & DatabasesData Transfer between Activities & Databases
Data Transfer between Activities & Databases
Muhammad Sajid
Android session-5-sajib
Android session-5-sajibAndroid session-5-sajib
Android session-5-sajib
Hussain Behestee
Android Data Persistence
Android Data PersistenceAndroid Data Persistence
Android Data Persistence
Romain Rochegude
Ad

More from Handaru Sakti (9)

Game Theory of Oligopolistic Pricing Strategies
Game Theory of  Oligopolistic Pricing StrategiesGame Theory of  Oligopolistic Pricing Strategies
Game Theory of Oligopolistic Pricing Strategies
Handaru Sakti
Innovation management
Innovation managementInnovation management
Innovation management
Handaru Sakti
Product Design Language System
Product Design Language SystemProduct Design Language System
Product Design Language System
Handaru Sakti
Real-Time Big Data
Real-Time Big DataReal-Time Big Data
Real-Time Big Data
Handaru Sakti
IES Triangle Principle
IES Triangle PrincipleIES Triangle Principle
IES Triangle Principle
Handaru Sakti
Business Model Canvas
Business Model CanvasBusiness Model Canvas
Business Model Canvas
Handaru Sakti
Transition management of product as platform
Transition management of  product as platformTransition management of  product as platform
Transition management of product as platform
Handaru Sakti
Mobile App Trends in 2016
Mobile App Trends in 2016Mobile App Trends in 2016
Mobile App Trends in 2016
Handaru Sakti
Android career opportunities
Android career opportunitiesAndroid career opportunities
Android career opportunities
Handaru Sakti
Game Theory of Oligopolistic Pricing Strategies
Game Theory of  Oligopolistic Pricing StrategiesGame Theory of  Oligopolistic Pricing Strategies
Game Theory of Oligopolistic Pricing Strategies
Handaru Sakti
Innovation management
Innovation managementInnovation management
Innovation management
Handaru Sakti
Product Design Language System
Product Design Language SystemProduct Design Language System
Product Design Language System
Handaru Sakti
Real-Time Big Data
Real-Time Big DataReal-Time Big Data
Real-Time Big Data
Handaru Sakti
IES Triangle Principle
IES Triangle PrincipleIES Triangle Principle
IES Triangle Principle
Handaru Sakti
Business Model Canvas
Business Model CanvasBusiness Model Canvas
Business Model Canvas
Handaru Sakti
Transition management of product as platform
Transition management of  product as platformTransition management of  product as platform
Transition management of product as platform
Handaru Sakti
Mobile App Trends in 2016
Mobile App Trends in 2016Mobile App Trends in 2016
Mobile App Trends in 2016
Handaru Sakti
Android career opportunities
Android career opportunitiesAndroid career opportunities
Android career opportunities
Handaru Sakti

Loader

  • 2. Intoduction Asynchronously load data in an activity or fragment. Automatically reconnect to the last their cursor when being recreated after a configuration change (like screen flips). Thus, they don't need to re-query their data. Introduced in Honeycomb, exist on Android Support Package v-4.
  • 3. Involved Classes and Interfaces LoaderManager LoaderManager.LoaderCallbacks Loader AsyncTaskLoader CursorLoader
  • 4. Common Approach... LoaderManager to initialize a Loader. There is only one LoaderManager per activity or fragment, but a LoaderManager can have multiple loaders. LoaderManager.LoaderCallbacks: a callback interface for a client to interact with the LoaderManager. Loader: an abstract class that performs asynchronous loading of data. This is the base class for a loader.
  • 5. ...Common Approach AsyncTaskLoader: abstract loader that provides an AsyncTask to do the work. A CursorLoader used to load data which backed by a ContentProvider. Alternatively, implement a subclass of Loader or AsyncTaskLoader to load data from some other source. A SimpleCursorAdapter used to display the loaders data.
  • 6. Implementation Starting a Loader getLoaderManager().initLoader(0, null, this); Within Activity via onCreate() method. Within Fragment via onActivityCreated() method. Restarting a Loader getLoaderManager().restartLoader(0, null, this);
  • 7. Using the LoaderManager Callbacks LoaderManager.LoaderCallbacks includes these methods: onCreateLoader() Instantiate and return a new Loader for the given ID. onLoadFinished() Called when a previously created Loader has finished its load. onLoaderReset() Called when a previously created Loader is being reset, thus making its data.
  • 9. References http://developer.android.com/guide/components /loaders.html http://developer.android.com/reference/android/ content/Loader.html