Skip to content

Example of architecture and a lot of base classes for any Android application

Notifications You must be signed in to change notification settings

nikolaevmaks/Android-App-Foundation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android-App-Foundation

Example of architecture and a lot of base classes for any Android application

App uses MVP architecture with custom implementation of Fragment which is simple to use unlike Android standard Fragment. See BaseActivity / BasePresenter, BaseFragment / BaseFragmentPresenter, RequestBase classes. Fragment is just a simple View + lifecycle similar to Android Fragment lifecycle.

Also I use app architecture something like Android ViewModel, but it is more customizable and flexible, you can customize everything as you want. See RequestBase, RequestsObserver, RequestWaitPerformer classes.

It uses OkHttp, Moshi libraries for network and JSON parsing. There are classes for easy network response parsing. See WebResponseHandler's inheritors.

App uses wrapper around Android SharedPreferences that simplifies work and adds support of "null" preference values.

It also provides classes to easily log app events to any analytics

Classes and example of easy pagination support in RecyclerView: AdapterProductsState, Products.

Explains how you can use custom annotations, such as @Required, @CollectionWithoutNulls, @CollectionIsNotEmptyAndWithoutNulls to validate JSON response.

FlexibleTextView
Custom TextView implementation which allows to answer questions about text layout, such as ellipsized text or not, maximum available lines count depending on the available text width and height.

ColorUtils
Many useful methods for color adjusting

About

Example of architecture and a lot of base classes for any Android application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published