This library provides a set of common utilities and classes. The library is broken into four modules:
A set of utility classes with common methods for comparison, date/time, IO, and string manipulation.
Gradle
implementation 'com.botnerd.core:util:1.0.0'
A set of classes use with Retrofit for networking. This include some interceptors for added the user agent or managing cookies, http constants, and utilities for connectivity and device information
Gradle
implementation 'com.botnerd.core:network:1.0.0'
The largest part of this library is the UI module. It has many classes that simplify UI code via data binding. In particular, the MultiTypeDataBoundAdapter
provides a single adapter that can be used for all RecyclerView
s within an app. For details on this adapter and several of the bindings, see Top 5 Reasons to Use Android Data Binding.
This module also contains code for simplifying Chrome Custom Tab integration, font management, and a few other goodies.
Gradle
implementation 'com.botnerd.core:ui:1.0.0'
This provides some data binding adapters for adding QR codes via the zxing library to a layout. It is in it's own library because the zxing library adds the Camera permission to the AndroidManifest.xml even though it is not used
Gradle
implementation 'com.botnerd.core:barcode:1.0.0'