0
点赞
收藏
分享

微信扫一扫

android hxgmvp 使用,震撼发布

萨科潘 2022-03-20 阅读 41

//P层

//和V层进行交互

public class NetWorkPresenter extends HxgMvpBasePresenter<NetWorkView> {

private NetWorkModel netWorkModel;

//创建于M层的引用

public NetWorkPresenter() {

this.netWorkModel = new NetWorkModel();

}

public void getNetWork(Context context) {

this.netWorkModel.getNetWork(context, new DefaultHttpCallBack<StudyBean>() {

@Override

public void onSuccess(StudyBean studyBean) {

if (getView() != null) {

getView().onNetWorkResult(studyBean);

}

}

@Override

public void onFail(Exception e) {

e.printStackTrace();

}

});

}

}

[]( )Activity处理数据

例如:(记得实现数据回调接口NetWorkView)

**

  • 封装好的MVP框架

  • 主要涉及类在:interfaceview包,model包,presenter包中

*/

@HxgContentView(R.layout.activity_main)

public class MainActivity extends HxgMvpActivity<NetWorkView, NetWorkPresenter> implements NetWorkView {

private FragmentManager fragmentManager;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

HxgViewUtils.getView().inject(this);

fragmentManager = getSupportFragmentManager();

fragmentManager.beginTransaction().replace(R.id.fl_main, new MainFragment())

.commitAllowingStateLoss();

}

@Override

public NetWorkPresenter createPresenter() {

return new NetWorkPresenter();

}

@Override

public NetWorkView createView() {

return this;

}

@HxgOnClick(R.id.btn_network)

@HxgCheckNet(HxgContast.DEFAULT_TYPE)

private void btnNetworkClick(Button btnNetwork) {

getPresenter().getNetWork(this);

}

/**

  • 返回的数据

  • @param studyBean

*/

@Override

public void onNetWorkResult(StudyBean studyBean) {

Toast.makeText(this, studyBean.toString(), Toast.LENGTH_LONG).show();

}

/**

  • 跳转Dagger页面

  • @param dagger

*/

@HxgOnClick(R.id.dagger)

private void daggerClick(Button dagger) {

startActivity(new Intent(this, DaggerActivity.class));

}

}

[]( )Fragment处理数据

例如:(记得实现数据回调接口NetWorkView)

@HxgContentView(R.layout.fragment_main)

public class MainFragment extends HxgMvpFragment<NetWorkView, NetWorkPresenter> implements NetWorkView {

@Nullable

@Override

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

View mView = HxgViewUtils.getView().inject(this, inf

android hxgmvp  使用,震撼发布

later, container);

return mView;

}

@Override

public NetWorkPresenter createPresenter() {

return new NetWorkPresenter();

}

@Override

public NetWorkView createView() {

return this;

}

@HxgOnClick(R.id.btn_network)

@HxgCheckNet(HxgContast.DEFAULT_TYPE)

private void btnNetworkClick(Button btnNetwork) {

getPresenter().getNetWork(getContext());

}

@Override

public void onNetWorkResult(StudyBean studyBean) {

Toast.makeText(getContext(), studyBean.toString(), Toast.LENGTH_LONG).show();

}

}

[]( )结合dagger2使用

dagger的作用主要是自动实例化Presenter

[]( )Activity中使用

[]( )实例化Presenter对象

例如:

/**

  • Created by Administrator on 2018/7/25 0025.

  • 使用Dagger创建对象

*/

@Module

public class NetWorkModule {

private DaggerActivity mActivity;

public NetWorkModule(DaggerActivity mActivity) {

this.mActivity = mActivity;

}

//显然我们并不是很多地方都需要某对象,我们在需要用该对象的界面的Module中提供注入即可

@Singleton

@Provides

NetWorkPresenter provideNetWork() {

return new NetWorkPresenter();

}

}

[]( )Dagger绑定

/**

  • Created by Administrator on 2018/7/25 0025.

  • Dagger绑定

*/

@Singleton

@Component(modules = NetWorkModule.class)

public interface MainComponent {

void inject(DaggerActivity activity);

}

[]( )dagger注入(以activity为例)

@Inject

NetWorkPresenter presenter;

记得注入要在onCreate方法的 super.onCreate(savedInstanceState);之前

尾声

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

最后想要拿高薪实现技术提升薪水得到质的飞跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。
android hxgmvp  使用,震撼发布
当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。

进阶学习视频

android hxgmvp  使用,震撼发布

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题?(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

android hxgmvp  使用,震撼发布

举报

相关推荐

0 条评论