Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

qiaoyhh/AndroidProjectHelper

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

安卓项目快速开发框架

终结目标:不重复造轮子,基于此框架可以快速开发出一款APP

功能在慢慢完善中。。

特性

  • 1、当前主流框架 MVP + Retrofit + RxJava。
  • 2、Activity和Fragment结合MVP模式的完整封装,大大减少代码量。
  • 3、酷炫的APP启动动画。
  • 4、沉浸式状态栏使用与屏幕适配。
  • 5、RxBus进行组件之间通讯,降低耦合度。
  • 6、ToolBar,Glide,多层级Viewpager的使用。
  • 7、自定义下拉刷新,上拉加载。

闲话少唠,代码先读为快(核心代码)

1. View 中代码,泛型中传入P 和m,并绑定彼此之间的关系

public class FirstTabFragment extends BaseFragment<FirstPresenter,FirstModel>

 @Override
    public void initPresenter() {
        mPresenter.setVM(this,mModel);
    }

2. Presenter中代码,观察者模式,model中请求数据后,会回调到presenterz中

 @Override
    public void getFirstListDataRequest(int size, int page) {

        mRxManage.add(mModel.getListData(size,page).subscribe(new RxSubscriber<List<FirstBean>>(mContext,false) {
            @Override
            public void onStart() {
                super.onStart();
                mView.showLoading(mContext.getString(R.string.loading));
            }
            @Override
            protected void _onNext(List<FirstBean> firstBeen) {
                mView.showListData(firstBeen);
                mView.stopLoading();
            }
            @Override
            protected void _onError(String message) {
                mView.showErrorTip(message);
            }
        }));
    }

3. Model中代码,主要是就是请求网络,将结果发送到presenterz中

 @Override
    public Observable<List<FirstBean>> getListData(int size, int page) {

        return Api.getInstance().service.getListData(size,page)
                .map(new Func1<GirlData, List<FirstBean>>() {
            @Override
            public List<FirstBean> call(GirlData girlData) {
                return girlData.getResults();
            }
      }).compose(RxSchedulers.<List<FirstBean>>io_main());
    }


 # 主要核心代码就是以上这些完美的实现请求网络这个过程通过rxJava观察者机制减少接口的使用大大减少代码中无用的类

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.