Android Studio plugin generate clean architecture project to make develop easier.

This plugin is based in MVP pattern and Repository Pattern. You can create a entity main packages (data, domain and view) only write the name about the new entity.

The core about this plugin its build on Retrofit 2 and Dagger 2. The main structure generated included @Inject about Dagger2 and Adapter about Retrofit 2 Adapter, its very recommened add Retrofit 2 and Dagger 2 libraries in your gradle.
Activity Android is based in AppCompatActivity to make it easier the compability with Android elements, also Fragment Android is based in support v4.
If you select entity with presenter, create a presenter reference in view element and is required implements the interface to connect presenter and the corresponding view.
To works presenter you need add UseCase in package domain and create a new reference in presenter to works with it.

The following features are available:

  • Create entity with activity or fragment based in basic architecture or your basic architecture.
  • Any activity or fragment included a layout with simple RelativeLayout root element.
  • Create entity activity or fragment with presenter.
  • Create entity adapter based in RecyclerView
  • Instructions

    1. VERY IMPORTANT copy all templates (/resources/templates) into AndroidStudioConfig/config/fileTemplates. How to know the Android Studio Config folder
    2. Its recommended for ths plugin add in your gradle the libraries Retrofit 2 and Dagger 2.
    3. Select directory where you create a new entity.
    4. Right click and select Clean Architecture Generator or click in plugin icon.
    5. Write the entity name. Please. the first letter about entity in uppercase.
    6. Select activity or fragment. Only one
    7. Select if you want with presenter and adapter
    8. Click Confirm button and wait to create the entity


    All packages and class that you can create

    Plugin in Android Studio

    Example Click Button

    Show class and methods when you click in a button

    More information and screenshots: Plugin reference alvaromarco