All Projects → derohimat → Android Base Mvp

derohimat / Android Base Mvp

Licence: apache-2.0
Android Base MVP Concept with RXJava, Dagger, Event Bus, Retrofit, Glide, OkHTTP

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Android Base Mvp

Viabus Architecture
让 Android 开发可以像流水线一样高效的,职责分离架构 ⚡ 不同于 MVP 的配置解耦,也不能和 似是而非 的 MVVM - Clean 同日而语。VIABUS 是世界范围内首个明确提出,通过职责分离,来真正实现 UI 和 业务并行开发的 Android 项目级开发架构和设计模式理念。
Stars: ✭ 485 (+243.97%)
Mutual labels:  rxjava, okhttp, architecture, mvp
Mvpframes
整合大量主流开源项目并且可高度配置化的 Android MVP 快速集成框架,支持 AndroidX
Stars: ✭ 100 (-29.08%)
Mutual labels:  rxjava, okhttp, mvp, dagger
Android Architecture
🌇该项目结合 MVP 与 Clean 架构思想,探索在 Android 项目上的最佳实践。
Stars: ✭ 112 (-20.57%)
Mutual labels:  rxjava, architecture, mvp, dagger
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 快速集成框架).
Stars: ✭ 10,146 (+7095.74%)
Mutual labels:  rxjava, architecture, mvp
Android Mvp Architecture
This repository contains a detailed sample app that implements MVP architecture using Dagger2, GreenDao, RxJava2, FastAndroidNetworking and PlaceholderView
Stars: ✭ 4,360 (+2992.2%)
Mutual labels:  rxjava, mvp, dagger
Androidrapidlibrary
Android 快速开发库,主要想实现一条属于自己的开发框架。包括网络访问,数据,UI等等
Stars: ✭ 577 (+309.22%)
Mutual labels:  rxjava, okhttp, mvp
WanAndroid
💪 WanAndroid应用,持续更新,不断打造成一款持续稳定, 功能完善的应用
Stars: ✭ 50 (-64.54%)
Mutual labels:  rxjava, mvp, dagger
Kingtv
📺 高仿全民直播(全民TV),项目采用 MVP + RXJava + Retrofit + OKHttp + Material Design + Dagger2 + Base + Glide + GreenDao构建。因为全民TV已经凉了,导致App已经连不上。所以本项目已暂停维护。仅供学习。 推荐MVPFrame: https://github.com/jenly1314/MVPFrame 和你值得拥有的MVVMFrame快速开发框架: https://github.com/jenly1314/MVVMFrame
Stars: ✭ 1,594 (+1030.5%)
Mutual labels:  rxjava, okhttp, mvp
Wanandroid
🐔🏀【停止维护,已使用Jetpack+Mvvm重构】根据鸿神提供的WanAndroid开放Api来制作的产品级玩安卓App,采用Kotlin语言,基于Material Design+AndroidX +MVP+RxJava+Retrofit等框架开发,注释超详细,方便大家练手
Stars: ✭ 674 (+378.01%)
Mutual labels:  rxjava, okhttp, mvp
Androidall
Android 程序员需要掌握的技术栈:数据结构算法、程序架构、设计模式、性能优化、插件化、热更新、Kotlin、NDK、Jetpack,以及常用的开源框架源码分析如 Flutter、Router、RxJava、Glide、LeakCanary、Dagger2、Retrofit、OkHttp、ButterKnife 等
Stars: ✭ 849 (+502.13%)
Mutual labels:  rxjava, okhttp, dagger
Thirtyinch
a MVP library for Android favoring a stateful Presenter
Stars: ✭ 1,052 (+646.1%)
Mutual labels:  rxjava, architecture, mvp
Android Mvp Interactor Architecture
Extension of the android-mvp-architecture for very large projects.
Stars: ✭ 388 (+175.18%)
Mutual labels:  rxjava, mvp, dagger
Firebucket
Glimpse into Firebase, with a simple TODO list app built around Dagger, RxJava 2, Clean architecture and of course, Firebase.
Stars: ✭ 376 (+166.67%)
Mutual labels:  rxjava, mvp, dagger
Android-Learning-Resources
My curated list of resources for learning Android Development.
Stars: ✭ 24 (-82.98%)
Mutual labels:  rxjava, mvp, dagger
Meteorite
一个基于Android MVP的简单明了的指引性通用架构,目的是帮助更多的开发者去全面了解实践开发相关的各种技术,快速搭建属于自已的APP。这个项目涉及到如下技术的实际应用:1、MVP 2、网络请求(Novate基于rxjava,okhttp,retrofit封装架构)3、DbFlow(可保存文件入SD卡) 4、6.0权限申请 5、XRecyclerView 6、万能Adapter7、异常处理 8、日志打印 9、屏幕适配 10、代码混淆 11、多渠道打包 12、内存泄露检测 13、热修复 14、升级更新 15、极光推送 工程更新完善中……欢迎关注 @特别感谢ZJ.Y的Logo支持。
Stars: ✭ 49 (-65.25%)
Mutual labels:  rxjava, okhttp, mvp
Ticket Analysis
移动端的彩票开奖查询系统
Stars: ✭ 61 (-56.74%)
Mutual labels:  rxjava, okhttp, mvp
Easygank
💊 The project build framework based on the Rx series and MVP pattern.
Stars: ✭ 750 (+431.91%)
Mutual labels:  rxjava, okhttp, mvp
iMoney
iMoney 金融项目
Stars: ✭ 55 (-60.99%)
Mutual labels:  rxjava, mvp, okhttp
AndroidMVPArchitecture
Android MVP architecture sample project with or without RxJava and Dagger2 and Kotlin
Stars: ✭ 78 (-44.68%)
Mutual labels:  rxjava, mvp, dagger
Bigbang
Android base project used by Xmartlabs team
Stars: ✭ 47 (-66.67%)
Mutual labels:  rxjava, mvp, dagger

Android Arsenal

Download

Android Base MVP Concept

Architecture

Requirements :

Min SDK Version 15
Target SDK Version 27
Check the compileSdkVersion, and buildToolsVersion to be the latest
Build Tools Version 27.0.3
Java 1.8

Step by step

Step 1. Add it in your root build.gradle at the end of repositories:

allprojects {
	repositories {
		...
		maven { url "https://jitpack.io" }
	}
}

Step 2. Add the dependency

dependencies {
        compile 'com.github.derohimat:android-base-mvp:1.0'
}

Step 3. Add this library for version 0.4 and up

//----- The core of Reactive Programming
compile 'io.reactivex:rxjava:1.2.5'
compile 'io.reactivex:rxandroid:1.2.1'

Step 4. Change extends MvpView to extends BaseView

Step 5. Modify applicationId "net.derohimat.samplebasemvp" to your package name

Step 6. Profit

Step 7. Star this repository :)

How to implement a new screen following MVP

Imagine you have to implement a sign in screen.

  1. Create a new package under ui called signin
  2. Create an new Activity called ActivitySignIn. You could also use a Fragment.
  3. Define the view interface that your Activity is going to implement. Create a new interface called SignInView that extends BaseView. Add the methods that you think will be necessary, e.g. showSignInSuccessful()
  4. Create a SignInPresenter class that extends BasePresenter<SignInView>
  5. Implement the methods in SignInPresenter that your Activity requires to perform the necessary actions, e.g. signIn(String email). Once the sign in action finishes you should call getView().showSignInSuccessful().
  6. Create a SignInPresenterTest and write unit tests for signIn(email). Remember to mock the SignInView and also the DataManager.
  7. Make your ActivitySignIn implement SignInView and implement the required methods like showSignInSuccessful()
  8. In your activity, inject a new instance of SignInPresenter and call presenter.attachView(this) from onCreate and presenter.detachView() from onDestroy(). Also, set up a click listener in your button that calls presenter.signIn(email).

Library :

Inspired by

https://github.com/AndreiD/UltimateAndroidTemplateRx

https://github.com/zetbaitsu/Benih

License

Copyright 2016 Deni Rohimat

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].