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

本文详细介绍了Android快速SDK中的联网请求库QuickHttp的使用,包括代码实例、依赖包、缓存模式、Cookie模式、网页抓取模式、提示样式设置以及POST请求模式的开启方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码:http://download.youkuaiyun.com/detail/huangbin95487710/9258601

依赖包模式

完整运行还需要用到以下依赖包

  1. 傻瓜式请求(代码实例)
    • 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();
      		}
      	}
      
      }


       
  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请求模式【特性
    • @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;
      }


  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文件上传模式 */
      	@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();
      		}
      	}
      
      }
      


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值