Back to rankings

janishar/android-mvp-architecture

Javajanisharali.com

This repository contains a detailed sample app that implements MVP architecture using Dagger2, GreenDao, RxJava2, FastAndroidNetworking and PlaceholderView

mvp-architecturedagger2rxjavafast-android-networkingplaceholderviewgreendaorxjava2mvpdaggermindorksandroid-mvp-architectureandroid-architecture
Star Growth
Stars
4.4k
Forks
1.2k
Weekly Growth
Issues
33
1k2k3k4k
Feb 2017Mar 2020May 2023Jul 2026
ArtifactsMavengit clone https://github.com/janishar/android-mvp-architecture.git
README

Deprecated


This Project is [Deprecated] goto latest project: Modern Android Development - WhereIsMyMotivation


Deprecated

Android MVP Architecture: Sample App

This repository contains a detailed sample app that implements MVP architecture using Dagger2, GreenDao, RxJava, FastAndroidNetworking, PlaceHolderView and AndroidDebugDatabase




Architecture Blueprint

Blueprint

Project Structure

Structure

About The Author

You can connect with me here:

Read the below listed articles. They describe the MVP concepts and the Project structure.

  1. MVP: Part 1
  2. MVP: Part 2
  3. MVP: Part 3
  4. Extension with Interactors and Repositories

The app has following packages:

  1. data: It contains all the data accessing and manipulating components.
  2. di: Dependency providing classes using Dagger2.
  3. ui: View classes along with their corresponding Presenters.
  4. service: Services for the application.
  5. utils: Utility classes.

Classes have been designed in such a way that it could be inherited and maximize the code reuse.

Library reference resources:

  1. Dagger2: https://github.com/janishar/android-dagger2-example
  2. PlaceHolderView: https://github.com/janishar/PlaceHolderView
  3. Calligraphy: https://github.com/chrisjenx/Calligraphy
  4. GreenDao: http://greenrobot.org/greendao/
  5. ButterKnife: http://jakewharton.github.io/butterknife/

Concept reference resources:

  1. Introduction to Dagger 2: Part 1
  2. Introduction to Dagger 2: Part 2
  3. Android Dagger2: Critical things to know before you implement
  4. Android Tinder Swipe View Example
  5. RxJava Anatomy: What is RxJava, how RxJava is designed, and how RxJava works.
  6. Powerful Android ORM: greenDAO 3 Tutorial

Looking for MVVM Architecture - Check here

Looking for Kotlin MVP Architecture - Check here

How do I use this project?

This is a boilerplate project aimed to help bootstrap new Android MVP Applications. Feel free to fork this application or use AndroidStarters to create new app using this boilerplate.

MVP template

When we follow any architecture pattern like MVP, MVVM, MVP clean, we always come across a small but repetitive task to create basic files like Android Activity, Presenter, View, Api models and then writing boiler plate code. This usually takes 1-2 hours for each single screen. To ease out work and save time We have created an automated template which will do above work in less than 20 seconds.

How to Install

Find the template/MVPActivity folder under root directory of android-mvp-architecture app. Paste the MVPActivity folder at below location.

  1. Windows - C:\Program Files\Android\Android Studio\plugins\android\lib\templates\activities
  2. Mac - /Applications/Android/Studio.app/Contents/plugins/android/lib/templates/activities

Restart the Android Studio.

Blueprint

How to use

Select the folder under which you want to create a new MVP folder. This MVP folder will contain Activity, Presenter, MVpPresenter and View class. For example, to create a new MVP folder under “view” folder, do as shown below.

Blueprint

License

   Copyright (C) 2023 JANISHAR ALI ANWAR

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

Contributing to Android MVP Architecture

All pull requests are welcome, make sure to follow the contribution guidelines when you submit pull request.

Related repositories
JessYanCoding/MVPArms

⚔️ A common architecture for Android applications developing based on MVP, integrates many open source projects, to make your developing quicker and easier (一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架).

JavaMavenApache License 2.0mvprxjava
10.2k2.4k
k0shk0sh/FastHub

FastHub the ultimate GitHub client for Android.

JavaMavenGNU General Public License v3.0github-clientandroid-github
5.7k929
KunMinX/Linkage-RecyclerView

即使不用饿了么订餐,也请务必收藏好该库!🔥 一行代码即可接入,二级联动订餐列表。

JavaMavenlinkageeleme
3.6k460
codeestX/GeekNews

:books:A pure reading App based on Material Design + MVP + RxJava2 + Retrofit + Dagger2 + Realm + Glide

JavaMavenmaterial-designrxjava
3.5k815
mxdldev/android-mvp-mvvm-flytour

🔥🔥🔥 FlyTour是Android MVVM+MVP+Dagger2+Retrofit+RxJava+组件化+插件组成的双编码架构+双工程架构+双语言Android应用开发框架,通过不断的升级迭代该框架已经有了十个不同的版本,5.0之前工程架构采用gradle配置实现组件化,5.0之后的工程架构采用VirtualAPK实现了插件化,5.0之前采用Java编码实现,5.0之后采用Kotlin编码实现,编码架构由MVVM和MVP组成,工程架构和编码架构及编码语言开发者可根据自己具体的项目实际需求去决定选择使用,该框架是Android组件化、Android插件化、Android MVP架构、Android MVVM架构的集大成者,帮助你快速的搭建自己的App项目开发框架,以便把主要的精力放在自己的项目的业务功能实现上,另外在长期的工作实践中总结整理大量的实用工具类在项目lib_common组件的util包当中方便大家调用。

JavaMavenApache License 2.0mvp-androidandroidmodule
menxindiaolong.blog.csdn.net/article/details/94975829
3.2k553
JsonChao/Awesome-WanAndroid

:zap:致力于打造一款极致体验的 http://www.wanandroid.com/ 客户端,知识和美是可以并存的哦QAQn(*≧▽≦*)n

JavaMavenApache License 2.0rxjava2retrofit2
2.7k594
north2016/T-MVP

Android AOP Architecture by Apt, AspectJ, Javassisit, based on Realm+Databinding+MVP+Retrofit+Rxjava2

JavaMavenaopaop-architecture
2.7k624
ahmedeltaher/MVVM-Kotlin-Android-Architecture

MVVM + Kotlin + Retrofit2 + Hilt + Coroutines + Kotlin Flow + mockK + Espresso + Junit5

KotlinApache License 2.0mvvmmvp
2.4k608
JessYanCoding/ArmsComponent

📦 A complete android componentization solution, powered by MVPArms (MVPArms 官方快速组件化方案).

JavaMavenApache License 2.0mvparmsandroid-architecture
1.7k241
Arello-Mobile/Moxy

Moxy is MVP library for Android

JavaMavenMIT Licensemoxyandroid
github.com/Arello-Mobile/Moxy/wiki
1.6k202
yydcdut/PhotoNoter

:notebook:Material Design风格的开源照片笔记。(MVP+Dagger2+RxJava+AspectJ+Dex处理)

JavaMavenandroidrxjava
1.6k329
TonnyL/PaperPlane

📚 PaperPlane - An Android reading app, including articles from Zhihu Daily, Guokr Handpick and Douban Moment.

KotlinApache License 2.0zhihuzhihu-daily
1.1k271