Android快速SDK(5)联网请求库QuickHttp

来源:互联网 发布:伴奏提取软件 编辑:程序博客网 时间:2024/05/17 05:04

代码:http://download.csdn.net/detail/huangbin95487710/9258601

依赖包模式

完整运行还需要用到以下依赖包
  • Android快速SDK(4)对话框AlertDialog

  1. 傻瓜式请求(代码实例)
    • mUserInfoHttp = new UserInfoHttp(mContext, new HttpEnd() {@Overridepublic void doSucess(Message msg) {//请求成功}@Overridepublic 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}@Overridepublic String getHttpUrl() {// TODO Auto-generated method stubreturn URL + "uid=10016";}@Overridepublic void parseData(JSONObject jsonObject) {// TODO Auto-generated method stubtry {JSONObject result = jsonObject.getJSONObject("results");mUserName = jsonToString(result, "username");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


  2. 设置缓存【特性】
    • /** 开启缓存文件状态 ,默认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;// 永久有效
  3. 访问文件方式【三种】
    • 只要更换url中的http头为以下的方式,即可切换访问路径
    • /**访问sdcard的路径*/public static final String SDCARD_FILE_FORMAT = Environment.getExternalStorageDirectory() + "/";/**访问asset的路径*/public static final String ASSET_FILE_FORMAT = "file:///android_asset/";
  4. Cookie模式【特性】
    • /** 开启cookie模式 */public void openCookie()

  5. 获取Cookie【特性
    • /** 是否是获取cookie模式 */public boolean isGetCookie()
  6. 网页抓取模式【特性
    • /** 开启网页抓取模式 */public void openCatchUrl()

  7. 提示样式设置【特性
    • /** 开启dialog方式 */public void openDialogMode()/** 开启toast方式 */public void openToastMode()/** 开启普通方式 */public void openNormalMode() 

  8. 开启post请求模式【特性
    • @Overridepublic Map<String, File> getSendFile() {<span style="white-space:pre"></span>// TODO Auto-generated method stubMap<String, File> mFile = new HashMap<String, File>();mFile.put("myFile1", new File(mFilePath));return mFile;}


  9. 综合代码示例
    • 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文件上传模式 */@Overridepublic Map<String, File> getSendFile() {// TODO Auto-generated method stubMap<String, File> mFile = new HashMap<String, File>();mFile.put("myFile1", new File("path"));return mFile;}@Overridepublic String getHttpUrl() {// TODO Auto-generated method stubreturn URL + "uid=10016";}@Overridepublic void parseData(JSONObject jsonObject) {// TODO Auto-generated method stubtry {JSONObject result = jsonObject.getJSONObject("results");mUserName = jsonToString(result, "username");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


0 0
原创粉丝点击