HttpClientGet
来源:互联网 发布:java编写hello world 编辑:程序博客网 时间:2024/06/05 05:28
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.hgz.test.httpclientget.utils.StreamTools;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import java.io.IOException;
import java.io.InputStream;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnHttpClientGet = (Button) findViewById(R.id.btnHttpClientGet);
btnHttpClientGet.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getFoodData();
}
});
}
/**
* 使用HttpClient这个api请求网络数据
* 请求方式:GET
* android 6.0以后,google不再推介使用这种方式,推介HttpURLConnection
*/
private void getFoodData() {
new Thread() {
@Override
public void run() {
super.run();
try {
//1.打开浏览器
HttpClient httpClient = new DefaultHttpClient();
//2.填下地址
HttpGet httpGet = new HttpGet("http://apis.juhe.cn/cook/query.php?menu=秘制红烧肉&key=1fe0aebec3396c977560e16f14613413");
//3.敲回车
HttpResponse response = httpClient.execute(httpGet);
//4.等待服务器响应,获得响应状态码
int code = response.getStatusLine().getStatusCode();
//HttpStatus.SC_OK)=200
if (code == HttpStatus.SC_OK) {
//5.获取服务器响应的内容
InputStream is = response.getEntity().getContent();
//使用utils工具类
System.out.println(json.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
}
//Utils工具类
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class StreamTools {
public static String getFood(InputStream is){
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer=new byte[1004];
int len=0;
while((len=is.read(buffer))!=-1){
baos.write(buffer,0,len);
}
is.close();
baos.close();
return baos.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
- HttpClientGet
- HttpClientGET
- HttpClientGet与HttpClientPost
- httpclientget网络请求数据
- 关于HttpClientGet的具体用法
- 通过 httpclientget 方法 向服务器中请求数据
- 一个简单地应用--从客户端向服务器发送数据.post,get.httpclientget,httpclinetpost,文件上传.
- 阿里配置3个configure_03
- 数据库配置不当美国2亿选民数据泄漏_这锅谁背?
- 用shell脚本实现一个彩色的进度条
- Eigen中转换
- 年总结(七):这半年的生活(2017.1—2017.7)
- HttpClientGet
- 转:API自动化测试利器——Postman
- HTML5小试 双人贪吃蛇
- 从尾到头打印链表
- A017 物料信息记录 (指定工厂) 包含的透明表
- C++使用单指针Struct实现双向链表
- 利用Python进行简单的图像识别(验证码)
- 2552998.html
- 基于imcrop,裁剪人脸视频