android---HttpGet访问服务器

来源:互联网 发布:光盘打印软件 编辑:程序博客网 时间:2024/05/15 05:24
HttpClientUtil在之前的HttpPost中已经定义过了,就不再重复贴出代码。,GET跟post的实现方法基本差不多。
package com.example.httpget;

import java.util.Map;

import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import android.os.Handler;
import android.os.Message;

import cn.leature.istarbaby.utils.InputStreamTransferUtil;

public class HttpGetUtil{
public static final int HTTP_GET_DONE = 1;
public static final int HTTP_GET_ERROR = 0;
private Handler handler;
private int mRequestCode;
public HttpGetUtil(Handler handler,int requestCode)
{
this.handler = handler;
this.mRequestCode = requestCode;
}
private void requestWithHttpGet(String requestUrl,
Map<String, String> params) {
int resultCode = 0;
String result = "";
try {
HttpResponse response = HttpClientUtil.executeWithGet(requestUrl,
params);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
resultCode = HTTP_GET_DONE;
result = InputStreamTransferUtil.inputStream2String(response
.getEntity().getContent());
} else {
resultCode = HTTP_GET_ERROR;
}
} catch (Exception e) {
e.printStackTrace();

resultCode = HTTP_GET_ERROR;
} finally {
// 返回结果
sendMessage(resultCode, result);
}
}
public void execute(final String requestUrl,
final Map<String, String> params) {

new Thread(new Runnable() {
@Override
public void run() {
requestWithHttpGet(requestUrl, params);
}
}).start();
}
private void sendMessage(int responseCode, String responseMessage) {
Message msg = Message.obtain();
msg.arg1 = mRequestCode;
msg.obj = responseMessage;
msg.what = responseCode;
handler.sendMessage(msg);
}
}

0 0
原创粉丝点击