A Native Android (JAVA) App DEMO challenge for Payoneer.
A brief preview |
---|
This app was designed using the MVVM architecture.
I also adapted the UI convention of
one Activity (MainActivity), multiple fragments using the Android Navigation Component.
I used retrofit for networking, Gson for object mapping while using OkhttpClient for cache
control. I wrote a custom Retrofit Callback class to enable me handle errors such as
SocketTimeoutException, UnknownHostException, ConnectException, JSONException,
IOException and other standard network errors properly.
For better user experience, a third party loader libary
('com.elyeproj.libraries:loaderviewlibrary:2.0.0') was used to serve as a placeholder while making network calls.
-
/app
#This is where all the application's directories are contained.-
/adapters
#This directory contains the adapter for binding data to the recycler view. -
/dao
# this directory contains the ApiInterface for retrofit. -
/models
# This directory contains all the POJO classes. -
/repositories
# This directory contains the repositories which abstracts data from the ApiInterface
and feeds to respective view models. -
/ui
# This directory contains all UI modules like each module contained within is a subdirectory
containing a fragment and its view model. -
/utils
This directory contains helper classes like the Retrofit service class and the Retrofit
callback class.
-
-
MainActivity.java
# Main activity class file. -
PayoneerTestApp.java
# Main application file which extends the Application class. -
SplashActivity.java
# Splash Screen activity for earlier android Os versions.
NB: Recent android versions use the app theme and the roundIcon as a default splash screen.