layout文件:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.hanqi.testapp3.TestActivity2"
android:orientation="vertical"> <Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="JDK-Get方式"
android:onClick="bt1_onClick"/>
<EditText
android:layout_width="match_parent"
android:layout_height="200dp"
android:id="@+id/et_2"/>
</LinearLayout>

java类:

 package com.hanqi.testapp3;

 import android.app.ProgressDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast; import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL; public class TestActivity2 extends AppCompatActivity { EditText et_2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test2);
et_2 = (EditText)findViewById(R.id.et_2);
}
//JDK的Get方式
public void bt1_onClick(View v)
{
//1.进度对话框
final ProgressDialog progressDialog = ProgressDialog.show(this,null,"正在加载,请稍后……");
//2.开启子线程,访问网络
new Thread(){
public void run()
{
try {
//1—URL
URL url = new URL("http://www.baidu.com"+"?name=tom"); //2—URL获取连接
HttpURLConnection huc = (HttpURLConnection)url.openConnection();
//请求方式
huc.setRequestMethod("GET");
//设置超时
huc.setConnectTimeout(3000);
huc.setReadTimeout(3000);
//连接并发送请求
huc.connect();
//接收
//判断返回状态码 200
int code = huc.getResponseCode();
if (code == 200)
{
//接收数据
//输入流
InputStream is = huc.getInputStream();
//读取流
//1—byte数组
byte[] b = new byte[1024];
//2—读到数组的长度
int i = 0;
//3—数据
final StringBuilder sb1 = new StringBuilder();
while ((i = is.read(b))>0)
{
sb1.append(new String(b,0,i));
}
//释放资源
is.close();
huc.disconnect();
//通过主线程显示信息和关闭对话框
runOnUiThread(new Runnable() {
@Override
public void run() {
et_2.setText(sb1);
progressDialog.dismiss();
}
});
}
else
{
Toast.makeText(TestActivity2.this, "连接错误,返回的状态码 = "+code, Toast.LENGTH_SHORT).show();
}
}
catch (Exception e)
{
e.printStackTrace();
progressDialog.dismiss();
}
}
}.start();
}
}

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. UliPad ----python 开发利器

    安装wxPython                                                                                          ...

  2. ueditor工具栏更改按钮的默认操作

    ueditor 上的 image 按钮,默认有一个图片选择工具. 但是我想把他去掉,用上自己写的图片选择功能. 原来使用cleditor 是可以给按钮自定义一个函数.但是在ueditor就没有找到可以 ...

  3. unity 发布web player版,网页打开报Failed to initialize player's 3D settings

    开始时我装的是unity 5.0.0b1,不知道在哪找的这个版本. web player 装的什么版本也忘了. 最后卸载了web player,重新安装web player并另外安装一个unity4. ...

  4. svn co

    svn  co  的用法经常有两种:    第一种:  直接  svn  co    http://svnserver/mypro/trunk                 此时, 会在你的当前目录 ...

  5. 移动混合开发之android文件管理demo

    框架采用cordova,android编译环境为android studio.系统为mac,cordova 环境搭建参考网址:http://cordova.apache.org/docs/en/5.0 ...

  6. php 序列化、json

    序列化 和 反序列化1. serialize和unserialize函数 2. json_encode 和 json_decode 使用JSON格式序列化和反序列化3. var_export 和 ev ...

  7. Qt中sizeof

    class a{ int d; // virtual void ssss(); }; qDebug() <<sizeof(a) << sizeof(int) << ...

  8. Jenkins_Maven_Git 持续集成及自动化部署 GentOS版

    1.安装JDK JDK下载: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 新 ...

  9. 5-26课堂作业——组员投票Alpha版存在的问题

    我们在课上讨论了Alpha版目前发现的问题,并通过投票的方式,选出其中三个认为是当前须紧要解决的问题. 问题: 1.缺少数据库: 2.用户体验不良好,游戏难度分区不明显: 3.团队成员共同工作时间少.

  10. leetcode216-Combination Sum III

    https://leetcode.com/problems/combination-sum-iii/ 用dfs枚举. class Solution { public: int kk, nn; vect ...