# NeiquanDemo **Repository Path**: bjnq/NeiquanDemo ## Basic Information - **Project Name**: NeiquanDemo - **Description**: 项目开发模板。各种工具+布局封装、网络请求okhttp、带有刷新加载的xrecylerview,还有各种工具类等等。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2017-01-07 - **Last Updated**: 2021-07-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 该Demo主要是为了方便快速开发,建立了一个基本框架和一些常用的封装。 App: 主要是base包里,有几个basefragment和baseactivity。 一般的页面都可能有或者没有头部(左边退出键、中间文字和右边下一步等等), 并且只对外提供了几个抽象方法(setViews用于加载一些试图、initData可以做一些网络请求等数据处理), 这个统一封装在BaseFragment或者BaseActivity里面。 BaseListFragment或者BaseListActivity是封装好的Xrecylerview带有刷新加载的页面。 BaseViewPagerFragment_Smart_Normal或者BaseViewPagerActivity_Smart_Normal是封装好的带有tab导航的页面,里面可根据具体需求自行修改。 BaseViewPagerFragment_Icon或者BaseViewPagerActivity_Icon是封装好的带有图片+文字的tab导航的页面。 MyBaseAdapter是封装好的Adapter。 AppLibrary: 主要是一些常用工具。 如;图片放大浏览: ArrayList urls = new ArrayList<>(); urls.add("http://www.zhlzw.com/UploadFiles/Article_UploadFiles/201204/20120412123914329.jpg"); urls.add("http://www.zhlzw.com/UploadFiles/Article_UploadFiles/201204/20120412123929822.jpg"); urls.add("http://pic1.16pic.com/00/10/80/16pic_1080912_b.jpg"); final ArrayList mImageList = new ArrayList<>(); mImageList.clear(); if (urls != null && urls.size() > 0) { for (int i = 0; i < urls.size(); i++) { ImageItem imageItem = new ImageItem(); imageItem.setPath(urls.get(i)); mImageList.add(imageItem); } } Intent intent = new Intent(); intent.putExtra(AndroidImagePicker.KEY_PIC_SELECTED_POSITION, 0); intent.setClass(getActivity(), ImagePreviewActivity.class); intent.putParcelableArrayListExtra(ImagePreviewActivity.IMAGEURL, mImageList); startActivity(intent); 如:从相册选择图片 1. AndroidImagePicker.getInstance().setSelectMode(AndroidImagePicker.Select_Mode.MODE_SINGLE); //AndroidImagePicker.Select_Mode.MODE_SINGLE单选模式 //AndroidImagePicker.Select_Mode.MODE_MULTI多选模式 //AndroidImagePicker.getInstance().setSelectLimit(MAX_NUM);//多选模式下 最多选多少张 AndroidImagePicker.getInstance().setShouldShowCamera(false);//相册里面是否显示拍照按钮 Intent intent = new Intent(MyPersonalPageActivity.this, ImagesGridActivity.class); startActivityForResult(intent, CameraUtils.LOCAL_PICTURE); 2. 在OnActivityResult中: List imageList = AndroidImagePicker.getInstance().getSelectedImages(); imageList.get(i).getPath())即是所获取到的本地图片 OkHttp: 使用如下,具体看代码。 NetUtils.getInstance().login("name", "pwd", "age", "sex", new NetCallBack() { @Override public void onSuccess(String response, String mssage, ResultModel model) { } @Override public void onFail(boolean dataError, int errorCode, String mssage) { } }, User.class); XRecyerLerView: 结合Okhttp使用如下。 private void loadDatas(final boolean isRefush) { Tools.showDialog(getActivity()); NetUtils.getInstance().linkList(pageNum, PAEG_SIZE, new NetCallBack() { @Override public void onSuccess(String response, String mssage, ResultModel model) { Tools.dismissWaitDialog(); mRecyclerview.loadMoreComplete(); mRecyclerview.refreshComplete(); mRefeshLy.hideAll(); list = (List) model.getModelList(); if (isRefush) { adapter.clear(); } adapter.append(list); if (list == null || list.size() < 10) { if (isRefush && (list == null || list.size() == 0)) { // mRefeshLy.showEmptyView(); mRefeshLy.showFailView(); } mRecyclerview.setLoadingMoreEnabled(false); } else { mRecyclerview.setLoadingMoreEnabled(true); } } @Override public void onFail(boolean dataError, int errorCode, String mssage) { Tools.dismissWaitDialog(); ToastUtil.shortShowToast(mssage); // mRefeshLy.hideAll(); mRefeshLy.showFailView(); mRecyclerview.loadMoreComplete(); mRecyclerview.refreshComplete(); } }, LinkList.class); } 其他的不一一细说,边做就会用到。。。当然也可以边做边增善