# 项目常用的一些代码示例 **Repository Path**: yangwo/daimashili ## Basic Information - **Project Name**: 项目常用的一些代码示例 - **Description**: 项目常用的框架 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2017-04-18 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #代码示例 Created by ${杨伟乔} on 2017/4/16.邮箱: yangweiqiao@126.comQQ: 463217558 */ #一.封装的网络请求 :NetRequest 主要发起网络请求 JsonUtil 解析返回的json onNetRquestListener 网络请求监听 配置公共的网络请求地址 HOSTURL ##1.1 //普通的get请求 tag是一个任务的标记 get(final String params, final String tag, final Type type, final onNetRquestListener listener) 1.2 //图片的请求 getBitMap(String url, String tag, BitmapCallback listener) ; 1.3 // 下载文件 getFile(String url, String Tag, final FileCallback listener); 1.4 //普通的post请求 参数是json形式 postForJsonFromMap(final String url, HashMap map, String Tag, final Type type, final onNetRquestListener listener); 1.5 //普通的post请求 参数是对象形式 postForJsonFromBean(final String url, Object bean, String Tag, final Type type, final onNetRquestListener listener) ; 1.6 //post请求 参数是map集合 postForparams(final String url, HashMap map, String Tag, final Type type, final onNetRquestListener listener) ; 1.7 //文件上传 postUploadFile(final String url, String tag, HashMap map, HashMap files, final Type type, final onNetRquestListener listener ); #三. 自定义状态布局: StateLayout 继承 Fragment 封装了4种的不同的状态 * 提供了对外的方法,显示不同的界面,在需要显示不同的界面的时候,只需要调用方法就可以了 * 前三种的状态是直接在布局中写死的,因为内容界面显示的东西不一样,所有我们提供一个方法,让外界需要的时候,自己传入一个显示内容的界面 * 使用这个布局 我们可以在子界面中直接根据当期的网络状态来直接显示对应的界面 #四. BaseFragment * 整体的布局是 StateLayout * getContentView() 主要的方法 子类直接返回显示内容的界面 * getContext 获取的上下文 * 注意界面销毁的取消任务 #五. MyApp * 申请必要的权限 * 配置OKGO #六. 自定义的侧滑菜单: 实现菜单打开的情况下主界面缩放的效果 ###实现的功能: 1.布局里面有两个子控件; 2.自定义侧滑dralayout和主界面布局 3.处理的事件 缩放动画 点击菜单条目关闭菜单 点击主界面图标可以控制菜单的显示和隐藏 4.当菜单显示的时候,点击主界面会关闭菜单栏 5.基本实现了侧滑菜单的所有的功能 #七. 刷新控件的封装 ## **XListView使用示例** ## 设置XListView相关属性
```java mListView = (XListView) findViewById(R.id.list_view); mListView.setPullRefreshEnable(true); mListView.setPullLoadEnable(true); mListView.setAutoLoadEnable(true); mListView.setXListViewListener(this); mListView.setRefreshTime(getTime()); mAdapter = new ArrayAdapter(this, R.layout.vw_list_item, items); mListView.setAdapter(mAdapter); ``` 下拉刷新,下拉加载更多使用示例
```java @Override public void onRefresh() { mHandler.postDelayed(new Runnable() { @Override public void run() { mIndex = ++mRefreshIndex; items.clear(); geneItems(); mAdapter = new ArrayAdapter(XListViewActivity.this, R.layout.vw_list_item, items); mListView.setAdapter(mAdapter); onLoad(); } }, 2500); } @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { mListView.autoRefresh(); } } @Override public void onLoadMore() { mHandler.postDelayed(new Runnable() { @Override public void run() { geneItems(); mAdapter.notifyDataSetChanged(); onLoad(); } }, 2500); } ``` ## **XScrollView使用示例** ## 设置XScrollView相关属性
```java mScrollView = (XScrollView) findViewById(R.id.scroll_view); mScrollView.setPullRefreshEnable(true); mScrollView.setPullLoadEnable(true); mScrollView.setAutoLoadEnable(true); mScrollView.setIXScrollViewListener(this); mScrollView.setRefreshTime(getTime()); View content = LayoutInflater.from(this).inflate(R.layout.vw_scroll_view_content, null); if (null != content) { mListView = (ListView) content.findViewById(R.id.content_list); mListView.setFocusable(false); mListView.setFocusableInTouchMode(false); mAdapter = new ArrayAdapter(this, R.layout.vw_list_item, mItems); mListView.setAdapter(mAdapter); measureHeight(); } mScrollView.setView(content); ``` 下拉刷新,下拉加载更多使用示例
```java @Override public void onRefresh() { mHandler.postDelayed(new Runnable() { @Override public void run() { mIndex = ++mRefreshIndex; mItems.clear(); geneItems(); mAdapter = new ArrayAdapter(XScrollViewActivity.this, R.layout.vw_list_item, mItems); mListView.setAdapter(mAdapter); measureHeight(); onLoad(); } }, 2500); } @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { mScrollView.autoRefresh(); } } @Override public void onLoadMore() { mHandler.postDelayed(new Runnable() { @Override public void run() { geneItems(); mAdapter.notifyDataSetChanged(); measureHeight(); onLoad(); } }, 2500); } ``` #八.仿苹果的城市选择器 #九.一些常用的工具类 ##ActivityFinishUtils ##AppUtils ##DataCleanManager ##DensityUtils ##NetUtils ##ProgressDialogUtil ##SpUtils ##StringUtils ##TimeProcess ##Toastutils ##Uri2Path