Tired of writing auth modules for every single project? This library will save you a lot of time.

Programming language: Java
License: MIT License
Tags: Android     Data binding     Authorization     Login     Signup     MVVM    

Android Base alternatives and similar packages

Based on the "Data binding" category.
Alternatively, view Android Base alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Android Base or a related project?

Add another 'Data binding' Package


Android Base

The project contains the most used modules in Android applications developed by RST Software House.

Getting started

We are using the most common libraries and approaches available in the Android community like DataBinding or Dagger 2. Applications are written based on MVVM architecture - you can read more about this pattern here


ViewModel and ViewAccess classes are able to extend, you can prepare them in your individual way. Every class from View layer has to implement a ViewAccess class used in injected ViewModel.

public class LoginViewModel extends BaseViewModel {

    protected LoginViewAccess mViewAccess;

    public LoginViewModel() {

public class LoginFragment extends Fragment implements LoginViewAccess {
    protected LoginViewModel mModel;

    public void onCreate(@Nullable Bundle savedInstanceState) {

                .plus(new LoginModule(this))

    public @Nullable View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        FragmentLoginBinding binding = DataBindingUtil.inflate(inflater, R.layout.fragment_login, null, false);

        return binding.getRoot();

    public @NonNull String getLoginErrorMessage() {
        return getString(R.string.error_login);

    public @NonNull String getPasswordErrorMessage() {
        return getString(R.string.error_password);

Prepare a module and a component to use your classes through Dagger:

public class LoginModule {
    private LoginFragment mLoginFragment;

    public LoginModule(@NonNull LoginFragment loginFragment) {
        mLoginFragment = checkNotNull(loginFragment);

    public LoginFragment providesLoginFragment() {
        return mLoginFragment;

    public LoginViewAccess providesLoginViewAccess(@NonNull LoginFragment loginFragment) {
        return loginFragment;
@Subcomponent(modules = LoginModule.class)
public interface LoginComponent {
    LoginFragment inject(LoginFragment loginFragment);

Finally add your component to the main application component:

public interface AppComponent {
    LoginComponent plus(LoginModule module);

Please follow the sample application if you want to check how it looks in practice.


Versions are available on bintray jcenter / maven central.

repositories {

dependencies {
    compile 'com.rst-it:android-base:1.0.2'


android-base is Copyright © 2018 SoftwareBrothers.co. It is free software, and may be redistributed under the terms specified in the [LICENSE](LICENSE.md) file.

About SoftwareBrothers.co

We are a software company who provides web and mobile development and UX/UI services, friendly team that helps clients from all over the world to transform their businesses and create astonishing products.

  • We are available to hire.
  • If you want to work for us - checkout the career page.

*Note that all licence references and agreements mentioned in the Android Base README section above are relevant to that project's source code only.