android 项目底层请求与下载(框)
来源:互联网 发布:鸿课青少儿编程 编辑:程序博客网 时间:2024/06/08 15:29
public class HttpPlatform {
String TAG = "HttpPlatform";
private static CookieStore cookieStore = null; // cookie会话
private ParamDown mHttpDownContent = new ParamDown(); // 服务器下行返回参数
public ParamDown HttpPost(ParamUp paramUp) {
int cookieAction = paramUp.cookieAction;
String url = paramUp.type;
String content = paramUp.content;
int contentType = paramUp.contentType;
byte[] binaryData = paramUp.binaryData;
HttpPost httpPost = new HttpPost(url);
DefaultHttpClient httpClient = new DefaultHttpClient();
Log.d(TAG, "-----------------HttpPost");
Log.d(TAG, url);
Log.d(TAG, content);
// 设置服务器当前会话cookie(即get出来的)
if (cookieAction == ParamUp.COOKIE_ACTION_SET) {
httpClient.setCookieStore(cookieStore);
}
switch (contentType) {
case ParamUp.CONTENT_TYPE_JSON: // json 格式
try {
if (content != null) {
// 绑定到请求 Entry
StringEntity stringEntity = new StringEntity(content,
HTTP.UTF_8);
httpPost.setHeader("Content-Type",
"text/plain; charset=utf-8");
System.out.println("----"+stringEntity);
httpPost.setEntity(stringEntity);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
break;
case ParamUp.CONTENT_TYPE_BINARY: // 二进制数据
if (paramUp.mHeaderParamsMap != null
&& paramUp.mHeaderParamsMap.size() > 0) {
Set set = paramUp.mHeaderParamsMap.keySet();
for (Object key : set) {
httpPost.addHeader(key.toString(),
paramUp.mHeaderParamsMap.get(key));
}
}
// 图片数据
if (binaryData != null && binaryData.length > 0) {
ByteArrayEntity byteArrayEntity = new ByteArrayEntity(
binaryData);
byteArrayEntity.setContentType("application/octet-stream");
httpPost.setEntity(byteArrayEntity);
}
break;
default:
break;
}
// 发送请求
try {
HttpResponse httpResponse = httpClient.execute(httpPost);
// 读取服务器返回在客户端的cookie
if (cookieAction == ParamUp.COOKIE_ACTION_GET) {
cookieStore = httpClient.getCookieStore();
System.out.println("cookieStore:"+cookieStore.toString());
}
//数据返回
String respondEntityString = EntityUtils.toString(httpResponse.getEntity());
System.out.println("----"+respondEntityString);
mHttpDownContent.result = respondEntityString;
Log.d(TAG, respondEntityString);
return mHttpDownContent;
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
- android 项目底层请求与下载(框)
- Android-项目开发基础—JNI与底层调用(十三)
- Android 底层封装之基于Rxjava与Okhttp网络请求封装(1)
- Android Http下载请求
- Android Studio 与Git 上传项目与下载项目流程
- [课堂实践与项目]IOS网络下载之 Post请求和Get请求
- Android 网络请求,应用的下载与安装
- android底层与zigbee通信
- 网络连接底层工具类,执行get和post请求(用于在一个项目中去对另外项目发出请求)
- HTTP请求与数据下载
- PHP底层探索(二):一次请求的开始与结束
- Android下载多个图片(传统Http请求方式)
- android之OkHttp使用(网络请求,上传,下载)
- Android中Java与底层交互
- HDFS上传与下载底层实现------>源码分析
- Android多线程下载(java项目中)
- android项目源码下载
- Android项目之网络请求
- swc的外部代码引用问题
- centos 6.2 64位上安装ceph 0.47.2
- Nginx造成后端服务器大量TIME_WAIT的解决办法
- Maven入门实战
- IOS程序文档目录在模拟器中的地址(Unix操作)
- android 项目底层请求与下载(框)
- android 加载图片轻松避免OOM(out of memory) 支持设置缓存大小,不再强制catch OOM
- LInux进程控制
- Android中实现振动效果 (How to Imeplement Vibration Effect In Andoid)
- linux 字符串的批量替换
- Linux内核DMA机制
- 读fbmem.c。。。
- 11级_Java_曹建波6.04 数据库的视图
- android笔记