generator-android-hipster
v1.1.1
Published
Android generator based on MVP, Dagger2, RxJava, Java & Kotlin Stack and usefull libraries for Android
Downloads
43
Maintainers
Readme
generator-android-hipster
Android generator based on MVP, Dagger2, RxJava, Java/Kotlin Stack and usefull libraries for Android
Latest version: 1.0.1
Update with
npm update -g generator-android-hipster
Info with
npm info generator-android-hipster
How it works?
It provides a generator to create and maintain a android application based on the latests frameworks and patterns used by the community.
Stack:
- Kotlin
- RxJava
- RxAndroid
- MVP
- Interactors / UseCases
- Repositories
- Flavors like used in u2020
- Dagger2
- Scoped dependencies
- Event bus systems (EventBus / Otto)
- Stetho
- Retrofit / OkHttp
- Timber
- Image Loaders (Glide / Picasso)
- Google Play Services
- Push notifications
- ButterKnife
- Anko (kotlin)
- JodaTimeAndroid / Jodamoney
- Gson
- MixPanel
- Storage in SharedPreferences using Gson
- PrintView
- Calligraphy
- AutoValue / AutoParcel
Some of these technologies are optional, and you can choose what you want to use answering the questions when you create the project. Some of them are mandatory, but can be optional soon. If you have any questions, please create a new issue and we will discuss.
What you can do after create a project:
Create a new Activity
- Create new
Activity
(including resources andAndroidManifest.xml
update) - Create a new Dagger2 Component / Module or use the
ApplicationComponent
- Create a Fragment (optional)
- For all cases, create the presenter
- Inject the presenter into Activity / Fragment
- Create a View interface for communication between
Presenter
->View
- Create new
Create a new Entity
- It will create a model (
AutoParcel
), an Entity class for REST / DB communication, and a converter to parse fromEntity
<- ->Model
class.
- It will create a model (
Create a Interactor
- Create a base
interactor
. - Use with or without Interface
- Interface use @Provides in
ApplicationModule
- Create a base
Create a UseCase
- Same as
Interactor
, but different name =) - It equal to
Interactor
generation, future changes proof. - Use with or without Interface
- Interface use @Provides in
ApplicationModule
- Same as
Create a repository
- Create a repository layer (To manage calls to Remote / Local Repository without exposing them to Interactors / UseCases)
- Can create a
RemoteRepository
class (for REST) - Can create a
LocalRepository
class (for local DB) - Use with or without Interface
- Interface use @Provides in
ApplicationModule
Create a Push architecture:
- Create the classes to handle push notifications like this article
Update gradle dependencies
- Update gradle dependencies to latest stable versions with just one command.
Check this article
Any suggestions? Please let me know!
Sample:
Installation
First, install Yeoman and generator-android-hipster using npm (we assume you have pre-installed node.js).
npm install -g yo
npm install -g generator-android-hipster
Available commands:
Create new project:
yo android-hipster
Update gradle dependencies:
yo android-hipster:update-dependencies
Create a new activity:
yo android-hipster:activity
Create a new fragment:
yo android-hipster:fragment
Create a new interactor:
yo android-hipster:interactor
Create a new use case:
yo android-hipster:usecase
Create a new repository:
yo android-hipster:repository
Create a new entity:
yo android-hipster:entity
Create a new push support like this article:
yo android-hipster:push