代码:http://download.youkuaiyun.com/detail/huangbin95487710/9258601
依赖包模式
完整运行还需要用到以下依赖包
- 傻瓜式请求(代码实例)
mUserInfoHttp = new UserInfoHttp(mContext, new HttpEnd() { @Override public void doSucess(Message msg) { //请求成功 } @Override public void doError(String error) { // 请求失败 } }); /**true有loading进度条,false为后台请求*/ mUserInfoHttp.connectionHttp(true);
- 请求类http简单写法
public class UserInfoHttp extends General.Inter.Http.JsonHttp { private static final String URL = "core/userinfo.php?"; public String mUserName = ""; public UserInfoHttp(Context mContext, HttpEnd mHttpEnd) { super(mContext, mHttpEnd); // TODO Auto-generated constructor stub } @Override public String getHttpUrl() { // TODO Auto-generated method stub return URL + "uid=10016"; } @Override public void parseData(JSONObject jsonObject) { // TODO Auto-generated method stub try { JSONObject result = jsonObject.getJSONObject("results"); mUserName = jsonToString(result, "username"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
- 设置缓存【特性】
/** 开启缓存文件状态 ,默认CacheFile.MODE_DEFAULT */ public void openCacheFileState(String mName, int mMode);
- 支持以下6种缓存方式
public static final int MODE_DEFAULT = 0;// 默认方式 public static final int MODE_HOUR = 1;// 以小时更换 public static final int MODE_DAY = 2;// 以天更换 public static final int MODE_MONTH = 3;// 以月更换 public static final int MODE_YEAR = 4;// 以年更换 public static final int MODE_FOREVER = 5;// 永久有效
- 访问文件方式【三种】
- 只要更换url中的http头为以下的方式,即可切换访问路径
/**访问sdcard的路径*/ public static final String SDCARD_FILE_FORMAT = Environment.getExternalStorageDirectory() + "/"; /**访问asset的路径*/ public static final String ASSET_FILE_FORMAT = "file:///android_asset/";
- Cookie模式【特性】
/** 开启cookie模式 */ public void openCookie()
- 获取Cookie【特性】
/** 是否是获取cookie模式 */ public boolean isGetCookie()
- 网页抓取模式【特性】
/** 开启网页抓取模式 */ public void openCatchUrl()
- 提示样式设置【特性】
/** 开启dialog方式 */ public void openDialogMode() /** 开启toast方式 */ public void openToastMode() /** 开启普通方式 */ public void openNormalMode()
- 开启post请求模式【特性】
@Override public Map<String, File> getSendFile() { <span style="white-space:pre"> </span>// TODO Auto-generated method stub Map<String, File> mFile = new HashMap<String, File>(); mFile.put("myFile1", new File(mFilePath)); return mFile; }
- 综合代码示例
package cn.whonow.whonow.http; import java.io.File; import java.util.HashMap; import java.util.Map; import org.json.JSONObject; import General.Base.CacheFile; import General.Inter.HttpBase; import General.Inter.HttpEnd; import android.content.Context; public class UserInfoHttp extends General.Inter.Http.JsonHttp { // private static final String URL = "core/userinfo.php?"; /** 访问ASSET中的Json */ private static final String URL = HttpBase.ASSET_FILE_FORMAT + "userinfo.json"; public String mUserName = ""; public UserInfoHttp(Context mContext, HttpEnd mHttpEnd) { super(mContext, mHttpEnd); /** 开启缓存,1天 */ super.openCacheFileState(UserInfoHttp.class, CacheFile.MODE_DAY); /** 开启抓取页面模式 */ super.openCatchUrl(); /** 开启cookie模式 */ super.openCookie(); /** 开启抓取cookie模式 */ super.openGetCookie(); /** 开启Toast提示模式 */ super.openToastMode(); } /** 开启post文件上传模式 */ @Override public Map<String, File> getSendFile() { // TODO Auto-generated method stub Map<String, File> mFile = new HashMap<String, File>(); mFile.put("myFile1", new File("path")); return mFile; } @Override public String getHttpUrl() { // TODO Auto-generated method stub return URL + "uid=10016"; } @Override public void parseData(JSONObject jsonObject) { // TODO Auto-generated method stub try { JSONObject result = jsonObject.getJSONObject("results"); mUserName = jsonToString(result, "username"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }