package com.example.dell.mvpdemo.mvp.base;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import com.example.dell.mvpdemo.mvp.factory.MvpPresenterFactory;
import com.example.dell.mvpdemo.mvp.factory.MvpPresenterFactoryImpl;
import com.example.dell.mvpdemo.mvp.proxy.MvpProxy;
/**
* Created by 海航
* 2017/12/15
* 功能描述:
*/
public abstract class BaseMvpActivity<V extends BaseMvpView, P extends BaseMvpPresenter<V>> extends AppCompatActivity implements BaseMvpView {
protected MvpProxy<V, P> proxy;
private boolean hasPresenter = true;
private MvpPresenterFactory<V, P> presenterFactory = MvpPresenterFactoryImpl.<V, P>getFactory(getClass());//默认的工厂 没有参数
private P presenter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (hasPresenter()) {
initPresenter();
}
}
protected boolean hasPresenter() {
return true;
}
private void initPresenter() {
proxy = new MvpProxy<>(getPresenterFactory());//获得代理类
presenter = proxy.getMvpPresenter();//通过代理 拿到presenter
proxy.onAttachMvpView((V) this);//绑定presnter
}
@Override
protected void onDestroy() {
super.onDestroy();
proxy.onDestroy();
}
@Override
public void showLoadding() {
}
@Override
public void dismissLoading() {
}
@Override
public void refreshComplete() {
}
@Override
public void showErr(String err) {
}
@Override
public void showSuccess(Object data) {
}
@Override
public void showToast(String s) {
}
public MvpPresenterFactory<V, P> getPresenterFactory() {
return presenterFactory;
}
public P getPresenter() {
return presenter;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
注解mvp框架
共81个文件
xml:36个
java:13个
png:10个
需积分: 9 3 下载量 23 浏览量
2017-12-15
15:08:27
上传
评论
收藏 360KB ZIP 举报
温馨提示
本demo 代用mvp框架 presenter通过注解生成,可方便快速mvp开发
资源推荐
资源详情
资源评论
收起资源包目录
MVPDemo.zip (81个子文件)
MVPDemo
gradlew.bat 2KB
gradlew 5KB
gradle.properties 746B
.gradle
3.3
tasks
_app_compileDebugJavaWithJavac
localJarClasspathSnapshot
localJarClasspathSnapshot.bin 20KB
localJarClasspathSnapshot.lock 17B
localClassSetAnalysis
localClassSetAnalysis.lock 17B
localClassSetAnalysis.bin 24KB
taskArtifacts
fileHashes.bin 144KB
taskArtifacts.bin 66KB
fileSnapshots.bin 852KB
taskArtifacts.lock 17B
MVPDemo.iml 884B
app
proguard-rules.pro 937B
src
test
java
com
example
dell
mvpdemo
ExampleUnitTest.java 418B
androidTest
java
com
example
dell
mvpdemo
ExampleInstrumentedTest.java 778B
main
res
mipmap-xxxhdpi
ic_launcher.png 10KB
ic_launcher_round.png 14KB
drawable
mipmap-hdpi
ic_launcher.png 3KB
ic_launcher_round.png 4KB
values
colors.xml 214B
strings.xml 73B
styles.xml 394B
mipmap-xxhdpi
ic_launcher.png 8KB
ic_launcher_round.png 10KB
mipmap-mdpi
ic_launcher.png 2KB
ic_launcher_round.png 2KB
mipmap-xhdpi
ic_launcher.png 5KB
ic_launcher_round.png 6KB
layout
activity_main.xml 845B
java
com
example
dell
mvpdemo
mvp
base
BaseMvpView.java 598B
BaseMvpActivity.java 2KB
BaseMvpPresenter.java 1KB
test
TestPresenter.java 380B
TestContracts.java 552B
TestActivity.java 1KB
factory
MvpPresenterFactoryImpl.java 2KB
MvpPresenterFactory.java 439B
annotation
CreatePresenter.java 552B
proxy
MvpProxy.java 2KB
MvpPresenterProxy.java 801B
AndroidManifest.xml 751B
app.iml 11KB
.gitignore 8B
build.gradle 971B
libs
gradle
wrapper
gradle-wrapper.jar 52KB
gradle-wrapper.properties 236B
.idea
gradle.xml 626B
runConfigurations.xml 564B
misc.xml 3KB
modules.xml 351B
encodings.xml 159B
workspace.xml 192KB
libraries
javawriter_2_1_1.xml 330B
jsr305_2_0_1.xml 330B
support_annotations_25_3_1.xml 487B
support_v4_25_3_1.xml 404B
support_vector_drawable_25_3_1.xml 594B
rules_0_5.xml 536B
javax_annotation_api_1_2.xml 358B
runner_0_5.xml 539B
hamcrest_library_1_3.xml 342B
espresso_idling_resource_2_2_2.xml 608B
support_core_utils_25_3_1.xml 579B
animated_vector_drawable_25_3_1.xml 597B
constraint_layout_solver_1_0_2.xml 333B
hamcrest_core_1_3.xml 526B
junit_4_12.xml 477B
support_compat_25_3_1.xml 567B
support_core_ui_25_3_1.xml 570B
appcompat_v7_25_3_1.xml 561B
support_media_compat_25_3_1.xml 585B
constraint_layout_1_0_2.xml 410B
support_fragment_25_3_1.xml 573B
hamcrest_integration_1_3.xml 354B
espresso_core_2_2_2.xml 575B
javax_inject_1.xml 511B
exposed_instrumentation_api_publish_0_5.xml 626B
.gitignore 127B
local.properties 424B
settings.gradle 16B
build.gradle 521B
共 81 条
- 1
资源评论
独孤航海
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功