从零开始搞懂Android网络请求——HttpURLConnection
来源:互联网 发布:spss数据显著性分析 编辑:程序博客网 时间:2024/06/05 19:37
本篇博客主要讲解如何使用HttpURLConnection来实现获取服务器的数据。
本篇博客实现的是一个简单的点击按钮获取服务器数据的Demo
实现步骤:
- 实例化一个URL对象
- 实例化一个httpURLConnection对象
- 设置链接属性(请求方法,读取时间等)
- 获取请求状态码,判断连接是否成功
- 获取输入流并解析
POST与GET:
post与get方法都属于网络请求的方法,简单来说,get是向服务器请求数据,post是客户端向服务器传数据,获得返回值。
界面设计展示
MainActivity的布局文件
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.ycw.httpurlconnectiondemo.MainActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击获取数据库数据" android:textSize="36dp" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:id="@+id/getmsg" /></RelativeLayout>
Java代码实现
MainActivity代码:
public class MainActivity extends AppCompatActivity { private Button getmsg; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); getmsg.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new Thread(){ @Override public void run() { //第一步:实例化URL对象 String address="http://139.199.171.179/androidtest/androidtest1.php"; //设置接口 try { URL url =new URL(address); //实例化URL对象 //实例化 HttpURLConnection对象 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //设置链接属性 conn.setRequestMethod("GET");//设置请求方法 conn.setReadTimeout(5000);//设置超时时间 if(conn.getResponseCode()==200){ //获取状态码 200表示连接成功 //获取输入流 InputStream in= conn.getInputStream(); //读取输入流 byte[] b=new byte[1024*512]; //定义一个byte数组读取输入流 ByteArrayOutputStream baos = new ByteArrayOutputStream(); //定义缓存流来保存输入流的数据 int len=0; while((len=in.read(b))>-1){ //每次读的len>-1 说明是是有数据的 baos.write(b,0,len); //三个参数 输入流byte数组 读取起始位置 读取终止位置 } String msg=baos.toString(); Log.e("TAG",msg); } } catch (java.io.IOException e) { e.printStackTrace(); } } }.start(); } }); } public void initView(){ getmsg = (Button) findViewById(R.id.getmsg); }}
最终效果
阅读全文
1 0
- 从零开始搞懂Android网络请求——HttpURLConnection
- 从零开始搞懂Android网络请求——异步加载ListView
- 从零开始搞懂Android网络请求——JSON数据的解析与Gson框架的使用
- Android中网络请求—HttpClient、HttpURLConnection
- android HttpURLConnection网络请求数据
- android 请求网络数据 HttpURLConnection
- Android基于HttpURLConnection网络请求
- android网络请求HttpURLConnection详解
- android网络技术之——HttpURLConnection请求
- Android Kotlin(一)—— Kotlin 入门与 HttpURLConnection 网络请求
- Android HttpUrlConnection 发送网络请求步骤总结
- Android中的HttpURLConnection网络请求方式
- 网络请求测试之HttpUrlConnection【Android】
- Android 网络请求(一)HttpURLConnection+OkHttp
- Android中的HttpURLConnection网络请求方式
- Android 网络请求HttpURLConnection 和 HttpClient详解
- Android中的HttpURLConnection网络请求方式
- android网络编程之HttpUrlConnection--POST请求
- 至此,再没有宏伟壮志,但求安稳
- Set集合HashSet学习(Set集合学习一)
- jsPlumb流程图
- Faster RCNN minibatch.py解读
- 第九章 排序
- 从零开始搞懂Android网络请求——HttpURLConnection
- 51nod 1050 循环数组最大子段和
- 11.06 CSS的基础应用2
- 卡尔曼滤波学习心得(1)方程推导
- 我的Qt学习之路——标准对话框
- Node实现简单的表单+图片上传+路由
- 随机抽取名字
- 简单ioc模拟-使用工厂方法
- win10环境下,解决javac不是内部或外部命令