All Projects → kaushiknsanji → PagingSampleCodelab_v1.x

kaushiknsanji / PagingSampleCodelab_v1.x

Licence: other
[DEPRECATED] Android App done as part of the Google Codelab "Android Paging v1.x". This repository is no longer maintained.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to PagingSampleCodelab v1.x

Multi-Module-Nextflix-Composable
Includes jetpack compose, navigation, paging, hilt, retrofit, coil, coroutines, flow..
Stars: ✭ 195 (+786.36%)
Mutual labels:  paging-library
Instant-Weather
An Android weather application implemented using the MVVM pattern, Retrofit2, Dagger Hilt, LiveData, ViewModel, Coroutines, Room, Navigation Components, Data Binding and some other libraries from the Android Jetpack.
Stars: ✭ 677 (+2977.27%)
Mutual labels:  paging-library
Recycling
A Library for make an easy and faster RecyclerView without adapter
Stars: ✭ 57 (+159.09%)
Mutual labels:  paging-library
gocodelabru
Coding simple database for geospatial data using Go programming language workshop in Russian language
Stars: ✭ 64 (+190.91%)
Mutual labels:  codelab
Codelab Friendlychat Web
The source for the Firebase codelab for building a cross-platform chat app
Stars: ✭ 1,559 (+6986.36%)
Mutual labels:  codelab
RxJava-Codelab
Codelab project for demonstration of RxJava features
Stars: ✭ 44 (+100%)
Mutual labels:  codelab
rxify
Now: RxJava Playground, Previous: Demo for the talk at DroidconIN 2016, Droidcon Boston 2017 and Codelab for GDG January Meetup
Stars: ✭ 59 (+168.18%)
Mutual labels:  codelab
polymer-2-carousel
Codelab
Stars: ✭ 18 (-18.18%)
Mutual labels:  codelab
Android-DarkTheme-CodeLab
코드랩 가이드 문서 👉
Stars: ✭ 18 (-18.18%)
Mutual labels:  codelab
searchi
Demo of PagedListAdapter, PageKeyedDataSource, LiveData, ViewModel in Kotlin
Stars: ✭ 13 (-40.91%)
Mutual labels:  paging-library
RickAndMorty-AndroidMVVMSample
An android sample project using Jetpack libraries and MVVM design pattern
Stars: ✭ 17 (-22.73%)
Mutual labels:  paging-library
RickAndMorty
No description or website provided.
Stars: ✭ 63 (+186.36%)
Mutual labels:  paging-library
Paging-3-Sample
This app is created as a sample app which loads movies from Tmdb api and uses Paging 3 library to show it in a Recycler view.
Stars: ✭ 96 (+336.36%)
Mutual labels:  paging-library
Movies-PagingLibrary-Arch-Components
Sample to practice PagingLibrary & RX
Stars: ✭ 92 (+318.18%)
Mutual labels:  paging-library
DaggerExoPlayer
This repository demonstrates ExoPlayer injection with Dagger2
Stars: ✭ 58 (+163.64%)
Mutual labels:  paging-library
Trippo-The Travel Guide
Trippo is your smart travel guide - it’s free and works offline, too! You can skim through tours, locations, POIs, city walks, articles and so on. This guide will save you from a serious headache!
Stars: ✭ 28 (+27.27%)
Mutual labels:  paging-library
AndroidPagingWithCoroutines
Sample Code for implementing paging library with Kotlin Coroutines
Stars: ✭ 95 (+331.82%)
Mutual labels:  paging-library
RxPagingLoading
Easy handling of the Paging or Loading screens states
Stars: ✭ 45 (+104.55%)
Mutual labels:  paging-library

Android Paging v1.x Sample

This App has been developed, following the instructions given in the Google Codelab Android Paging. The original code by Google for this codelab can be referred here, which contains codes written in Kotlin.

This Sample here has been rewritten in Java for Java Developers!

Deprecation Note: With the new and updated "Paging library v3.x" and the updated source documentation which has Java based codes, this repository is enough outdated and hence archiving it. Thank you all for the support till date.

What you will build

The App displays a list of Github Repositories using the Github API for the search query entered. The query will be searched in the Name and Description fields of the Github repositories. The data is saved in the local database cache that is backed by the network data. As the user scrolls to the end of the displayed list, a new network request is triggered and the results are displayed and saved in the database.

This App sample here uses -

  • Room - for local database cache.
  • LiveData and ViewModel - for maintaining the data of the App.
  • DataBinding - for binding View elements to their data. (Not present in the Google's Kotlin sample which employs Kotlin's features and Android KTX to accomplish the same)
  • Retrofit and Okhttp - for communicating with the Github API.
  • Repository pattern as per the Guide to App Architecture.
  • Java 8 lambdas.

In this Codelab, one will learn how to integrate the Paging Library components to accomplish the pagination task.

Getting Started

  • Android Studio 3.0 or higher
  • Familiarity with Android Architecture Components and DataBinding(only for understanding purpose).

Branches in this Repository

  • todo-starter-code
    • This is the repository to start working with.
    • Contains codes written in Java.
    • Contains TODOs where one needs to write code. This is suitably marked such that a Java developer can follow with the existing Kotlin Codelab.
    • Each Codelab step where one needs to write code, has been marked with the TODO comment following the syntax //TODO(Step-X): where X is the Codelab Step number. This number may change if the original codelab changes.
  • solution-code
    • This is the repository for the Solution code written in Java.

Differences with respect to the Original Kotlin sample

  • Firstly, the entire code has been rewritten in Java. Hence it uses Java 8 lambdas in places suitable for its usage.
  • Binding View elements to their Data is carried out by DataBinding. In the Kotlin version, it uses the Kotlin features and Android KTX.
  • Original version uses EditText for capturing User's Search query. In this sample, it is replaced with the TextInputEditText as per the recommendation for the TextInputLayout used.
  • The String resources contains a Unicode character that is not interpretable in Android versions 5.0 or below. This is replaced with %s and the corresponding value is set in the Activity code that displays it.

Sample Screenshot

References

References used for rewritting code in Java -

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].