android网络请求之get方法
package com.jredu.helloworld.activity; import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.TextView; import com.jredu.helloworld.R; import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL; public class HttpUrlConnectionGetActivity extends AppCompatActivity {
WebView webView;
Button button;
TextView success;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_http_url_connection_get);
webView = (WebView) findViewById(R.id.baidu);
success = (TextView) findViewById(R.id.success);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*第一种方法*/
/*Thread thread = new Thread(new Runnable() {
@Override
public void run() {
HttpUrlConnectionGet();
}
});
thread.start();*/
/*第二种方法*/
new Thread(new Runnable() {
@Override
public void run() {
HttpUrlConnectionGet();
}
}).start();
}
});
} public void HttpUrlConnectionGet(){
HttpURLConnection urlConnection = null;
InputStream is = null;
StringBuilder sb = new StringBuilder();
try {
URL url = new URL("http://apis.baidu.com/txapi/tiyu/tiyu?num=10&page=1");
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setConnectTimeout(5*1000);
urlConnection.setReadTimeout(5*1000);
urlConnection.setRequestProperty("apikey","fc642e216cd19906f642ee930ce28174");
urlConnection.connect();
if (urlConnection.getResponseCode() == HttpURLConnection.HTTP_OK){
is = urlConnection.getInputStream();
byte[] bytes = new byte[1024];
int i = 0;
while ((i = is.read(bytes)) != -1){
sb.append(new String(bytes,0,i,"utf-8"));
}
is.close();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if (urlConnection != null){
urlConnection.disconnect();
}
}
Message message = handler.obtainMessage(1,sb.toString());
handler.sendMessage(message);
}
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg != null && msg.what == 1){
String s = (String) msg.obj;
webView.getSettings().setDefaultTextEncodingName("utf-8");
webView.getSettings().setJavaScriptEnabled(true);
webView.loadDataWithBaseURL(null,s,"text/html","utf-8",null);
}
}
};
}
android网络请求之get方法的更多相关文章
- android网络请求库volley方法详解
使用volley进行网络请求:需先将volley包导入androidstudio中 File下的Project Structrue,点加号导包 volley网络请求步骤: 1. 创建请求队列 ...
- android网络请求之POST方法
package com.jredu.helloworld.activity; import android.os.Bundle; import android.os.Handler; import a ...
- Android网络请求框架AsyncHttpClient实例详解(配合JSON解析调用接口)
最近做项目要求使用到网络,想来想去选择了AsyncHttpClient框架开进行APP开发.在这里把我工作期间遇到的问题以及对AsyncHttpClient的使用经验做出相应总结,希望能对您的学习有所 ...
- xamarin android网络请求总结
xamarin android中网络请求的框架非常多,在项目中使用的是第三方的一个网络请求框架restsharp,应该是github上.net网络请求最多star的框架,没有之一.这里就简单汇总了其他 ...
- Android 网络请求框架Retrofit
Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,OkHttp现在已经得到Google官方认可,大量的app都采用OkHttp ...
- Android 网络请求Retrofit + RxJava
一.背景 经常看到项目用Retrofit+RxJava+RxAndroid的框架,为了看懂项目的结构.现在来了解一下,Retrofit: Retrofit是Square 公司开发的一款正对Androi ...
- Android 网络请求及数据处理
Android 网络请求: 1.Volley http://blog.csdn.net/t12x3456/article/details/9221611 2.Android-Async-Http ...
- android 网络请求Ⅰ
本章讲述在android开发中,常用的网络请求操作.网络请求利用android基本的HttpURLConnection连接URL和开源网络请求包AsyncHttpClient.本次网络请求以调取天气接 ...
- Android网络请求通信之Volley
一.Volley简介 Volley网络框架是Google公司在2013年发布的一款Android平台上的网络请求通信库.以下是对Volley的简单归纳. Volley的优点: 使网络通信更快.更简单. ...
随机推荐
- Mac配置JAVA_HOME
首先打开终端,输入/usr/libexec/java_home,看到 /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home 说 ...
- CCF 201403-1 相反数 (水题)
问题描述 有 N 个非零且各不相同的整数.请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数). 输入格式 第一行包含一个正整数 N.(1 ≤ N ≤ 500). 第二行为 N 个用单 ...
- Oracle数据库编程:在JDBC中应用Oracle
9.在JDBC中应用Oracle: JDBC访问数据库基本步骤: 1.加载驱动 2.获取链接对象 3.创建SQL语句 4.提交S ...
- Odoo 开发者模式
这里我们以Odoo V9介绍下Odoo的开发者模式: 进入开发者模式: 登录odoo系统后,点击右上角登陆账号下拉菜单,选择About,然后在弹出菜单里点击Activate the developer ...
- [添加用户]解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码
将nobody用户添加到nogroup 组:usermod -g nogroup nobody cat /etc/passwd|grep nobodynobody:x:65534:65534:nobo ...
- NLog使用总结
一.代码调用方式: public static readonly Logger Logger = LogManager.GetCurrentClassLogger(); Logger .Trac ...
- SQL SERVER:开窗函数 SUM() OVER() 数据统计中一例使用
由于前一段时间胃痛,导致博客园博客都停更了一个月左右.近几天,胃病终于稍微有所好转,决定重新写博文. 前几天,有个朋友刚好问到本人有关 SQL 语句,大致是原表有两列,分别为月份.月份销售额,而需要一 ...
- xampp 修改mysql 密码
编辑 lampp/etc/extral/httpd-xampp.conf 文件注释掉 连上mysql,修改mysql下root 用户的登入密码为123456,执行 UPDATE user SET pa ...
- Android ndk下用AssetManager读取assets的资源
转自:http://www.cppblog.com/johndragon/archive/2012/12/28/196754.html 在使用 cocos2dx 在 Android 上进行游戏开发时, ...
- C#生成软件注册码
开发软件时,当用到商业用途时,注册码与激活码就显得很重要了.现在的软件破解技术实在在强了,各种国内外大型软件都有注册机制,但同时也不断地被破解.下面发的只是一个常用版本,发出源码被破就更容易了,但我们 ...