layout文件:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent"
  6. android:paddingBottom="@dimen/activity_vertical_margin"
  7. android:paddingLeft="@dimen/activity_horizontal_margin"
  8. android:paddingRight="@dimen/activity_horizontal_margin"
  9. android:paddingTop="@dimen/activity_vertical_margin"
  10. tools:context="com.hanqi.testapp3.TestActivity2"
  11. android:orientation="vertical">
  12.  
  13. <Button
  14. android:layout_width="match_parent"
  15. android:layout_height="wrap_content"
  16. android:text="JDK-Get方式"
  17. android:onClick="bt1_onClick"/>
  18. <EditText
  19. android:layout_width="match_parent"
  20. android:layout_height="200dp"
  21. android:id="@+id/et_2"/>
  22. </LinearLayout>

java类:

  1. package com.hanqi.testapp3;
  2.  
  3. import android.app.ProgressDialog;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.EditText;
  8. import android.widget.Toast;
  9.  
  10. import java.io.InputStream;
  11. import java.net.HttpURLConnection;
  12. import java.net.URL;
  13.  
  14. public class TestActivity2 extends AppCompatActivity {
  15.  
  16. EditText et_2;
  17. @Override
  18. protected void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.activity_test2);
  21. et_2 = (EditText)findViewById(R.id.et_2);
  22. }
  23. //JDK的Get方式
  24. public void bt1_onClick(View v)
  25. {
  26. //1.进度对话框
  27. final ProgressDialog progressDialog = ProgressDialog.show(this,null,"正在加载,请稍后……");
  28. //2.开启子线程,访问网络
  29. new Thread(){
  30. public void run()
  31. {
  32. try {
  33. //1—URL
  34. URL url = new URL("http://www.baidu.com"+"?name=tom");
  35.  
  36. //2—URL获取连接
  37. HttpURLConnection huc = (HttpURLConnection)url.openConnection();
  38. //请求方式
  39. huc.setRequestMethod("GET");
  40. //设置超时
  41. huc.setConnectTimeout(3000);
  42. huc.setReadTimeout(3000);
  43. //连接并发送请求
  44. huc.connect();
  45. //接收
  46. //判断返回状态码 200
  47. int code = huc.getResponseCode();
  48. if (code == 200)
  49. {
  50. //接收数据
  51. //输入流
  52. InputStream is = huc.getInputStream();
  53. //读取流
  54. //1—byte数组
  55. byte[] b = new byte[1024];
  56. //2—读到数组的长度
  57. int i = 0;
  58. //3—数据
  59. final StringBuilder sb1 = new StringBuilder();
  60. while ((i = is.read(b))>0)
  61. {
  62. sb1.append(new String(b,0,i));
  63. }
  64. //释放资源
  65. is.close();
  66. huc.disconnect();
  67. //通过主线程显示信息和关闭对话框
  68. runOnUiThread(new Runnable() {
  69. @Override
  70. public void run() {
  71. et_2.setText(sb1);
  72. progressDialog.dismiss();
  73. }
  74. });
  75. }
  76. else
  77. {
  78. Toast.makeText(TestActivity2.this, "连接错误,返回的状态码 = "+code, Toast.LENGTH_SHORT).show();
  79. }
  80. }
  81. catch (Exception e)
  82. {
  83. e.printStackTrace();
  84. progressDialog.dismiss();
  85. }
  86. }
  87. }.start();
  88. }
  89. }

Android——JDK的get请求方式的更多相关文章

  1. JDK的get请求方式

    package com.example.wang.testapp3; import android.app.ProgressDialog; import android.os.Bundle; impo ...

  2. android http协议post请求方式

    方式一:HttpPost(import org.apache.http.client.methods.HttpPost 代码如下: private Button button1,button2,but ...

  3. android post带数据请求方式,传递的数据格式包括json和map

    如下: public static String httpPost(String url, String json) { try { URL u = new URL(url); HttpURLConn ...

  4. android中用get和post方式向服务器提交请求

    通过get和post方式向服务器发送请求首先说一下get和post的区别get请求方式是将提交的参数拼接在url地址后面,例如http://www.baidu.com/index.jsp?num=23 ...

  5. Android之Http通信——3.Android HTTP请求方式:HttpURLConnection

    3.Android HTTP请求方式之HttpURLConnection 引言: 好了,前两节我们已经对HTTP协议进行了学习.相信看完前两节的朋友对HTTP协议相比之前 应该更加熟悉吧.好吧.学了要 ...

  6. Android进阶(一)几种网络请求方式详解

    Ref:http://blog.csdn.net/zuolongsnail/article/details/6373051 Android应用经常会和服务器端交互,这就需要手机客户端发送网络请求,下面 ...

  7. Android Volley框架的几种post提交请求方式

    首先简单描述一下Google的Android开发团队在2013年推出的一个网络通信框架Volley.它的设计目标是进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如下载文件等,Vol ...

  8. Android 数据存储五种方式

    1.概述 Android提供了5种方式来让用户保存持久化应用程序数据.根据自己的需求来做选择,比如数据是否是应用程序私有的,是否能被其他程序访问,需要多少数据存储空间等,分别是: ① 使用Shared ...

  9. (转载)Android之三种网络请求解析数据(最佳案例)

    [置顶] Android之三种网络请求解析数据(最佳案例) 2016-07-25 18:02 4725人阅读 评论(0) 收藏 举报  分类: Gson.Gson解析(1)  版权声明:本文为博主原创 ...

随机推荐

  1. <![CDATA[]]>作用

    <![CDATA[]]>的作用是让XML解析器将标签中的字符串当作普通文本对待,以防止某些字符串对XML格式造成破坏.

  2. sql高级语句大全

    经典SQL语句大全 一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql s ...

  3. JS 4 新特性:混合属性(mixins)

    Ext JS4的新特征1:混合属性(mixins) 组合是Extjs4的新特性,可用于实现多继承的情况.该属性会以同步方式加载类文件,并实例化该类(译者推理其内部使用Ext.create方法).直接上 ...

  4. 运行html代码

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  5. webpack vuejs项目学习心得

    最近在做移动端的项目,最近webpack和vuejs很火,就想到了用vuejs webpack来构建我的项目 先了解了一些webpack的入门基础 http://webpack.github.io/d ...

  6. 如何使用Charles抓包-- 入门篇

    下载地址 注意:首先需要下载java的运行环境支持(一般用burp的人肯定也都有装java环境).装好java环境后,可以直接去百度搜索并下载charles的破解版,下载到破解版之后,里面一般会有注册 ...

  7. Qt图形视图框架公开课资料

    接受CSDN学院的邀请,讲一次公开课,主题是Qt图形视图框架,报名链接在这里:http://edu.csdn.net/huiyiCourse/detail/228. 内容有两部分:自定义Item和拖放 ...

  8. PHP之数组array

    $switching = array(         10, // key = 0                    5    =>  6,                    3    ...

  9. PHP 记录日志

    public function writelog($message) { $logFileDir = LOG_PATH; $logFile = 'monitor' . date('Y-m-d') . ...

  10. Javascript 事件对象(四)一个事件绑定多个不同的函数

    给一个对象绑定多个事件处理函数: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-T ...