HttpUrlConnection加载网络
2016-02-29 11:27
417 查看
package com.bwie.HTTPConnect;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URISyntaxException;
import java.net.URLConnection;
import java.util.List;
import com.bwie.HTTPConnect.JsonData.Data;
import com.bwie.HTTPConnect.JsonData.Items;
import com.google.gson.Gson;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.ListView;
public class MainActivity extends Activity {
private List<Items> list;
private MyAdapter adapter;
private ListView lv_list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv_list=(ListView)findViewById(R.id.lv_list);
new Thread(){
public void run() {
// 在子线程请求网络数据
getInfo();
};
}.start();
}
private void getInfo(){
String get_path = "http://169.254.151.168:8080/jsondata.json";
try {
// 得到URL对象,设置要访问的路径
URL url=new URL(get_path);
// 得到联网操作类,HttpURLConnection
HttpURLConnection openConnection = (HttpURLConnection) url.openConnection();
// 设置连接超时,以毫秒为单位
openConnection.setConnectTimeout(5000);
// 设置请求方式,有GET和POST
openConnection.setRequestMethod("GET");
// 设置读取超时,以毫秒为单位
openConnection.setReadTimeout(5000);
// 开始连接
openConnection.connect();
//通过响应码判断是否连接成功
if (openConnection.getResponseCode()==200) {
// 得到服务器返回的数据,是以流的形式返回的
InputStream inputStream = openConnection.getInputStream();
InputStreamReader builder=new InputStreamReader(inputStream);
// BufferedReader reader=new BufferedReader(new InputStrea·mReader(inputStream));
// String readData=reader.readLine();
// StringBuilder builder=new StringBuilder();
// while (readData!=null) {
// builder = builder.append(readData);
// }
Gson gson=new Gson();
JsonData fromJson = gson.fromJson(builder, JsonData.class);
list = fromJson.data.items;
runOnUiThread(new Runnable() {
@Override
public void run() {
adapter=new MyAdapter(list, MainActivity.this);
lv_list.setAdapter(adapter);
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URISyntaxException;
import java.net.URLConnection;
import java.util.List;
import com.bwie.HTTPConnect.JsonData.Data;
import com.bwie.HTTPConnect.JsonData.Items;
import com.google.gson.Gson;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.ListView;
public class MainActivity extends Activity {
private List<Items> list;
private MyAdapter adapter;
private ListView lv_list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv_list=(ListView)findViewById(R.id.lv_list);
new Thread(){
public void run() {
// 在子线程请求网络数据
getInfo();
};
}.start();
}
private void getInfo(){
String get_path = "http://169.254.151.168:8080/jsondata.json";
try {
// 得到URL对象,设置要访问的路径
URL url=new URL(get_path);
// 得到联网操作类,HttpURLConnection
HttpURLConnection openConnection = (HttpURLConnection) url.openConnection();
// 设置连接超时,以毫秒为单位
openConnection.setConnectTimeout(5000);
// 设置请求方式,有GET和POST
openConnection.setRequestMethod("GET");
// 设置读取超时,以毫秒为单位
openConnection.setReadTimeout(5000);
// 开始连接
openConnection.connect();
//通过响应码判断是否连接成功
if (openConnection.getResponseCode()==200) {
// 得到服务器返回的数据,是以流的形式返回的
InputStream inputStream = openConnection.getInputStream();
InputStreamReader builder=new InputStreamReader(inputStream);
// BufferedReader reader=new BufferedReader(new InputStrea·mReader(inputStream));
// String readData=reader.readLine();
// StringBuilder builder=new StringBuilder();
// while (readData!=null) {
// builder = builder.append(readData);
// }
Gson gson=new Gson();
JsonData fromJson = gson.fromJson(builder, JsonData.class);
list = fromJson.data.items;
runOnUiThread(new Runnable() {
@Override
public void run() {
adapter=new MyAdapter(list, MainActivity.this);
lv_list.setAdapter(adapter);
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
相关文章推荐
- spring整合dubbo-2.5.3(使用TCP广播或者zookeeper 暴露和发现服务)
- Java 网络编程(六) 使用无连接的数据报(UDP)进行通信
- IPC网络摄像机app端开发问题解决思路
- python网络编程之socket
- 4.18.1 Android Http 与断点续传
- 解决GoAgent打开https网站SSL证书错误 (安全证书不受信任)
- wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理
- 网络请求设置 && arc&mrc互转
- 4.1.3.9 监听网络状态,3G,WIFI,
- Mac网络优先级设置
- python模拟登录http basic authentication网站
- HDU 1083 网络流之二分图匹配
- 人工神经网络NN
- 为Android频繁的网络请求设置本地缓存
- VirtualBox四种网络连接方式的区别联系
- 4.1.3 Android 监听网络状态+源代码
- 携程App的网络性能优化实践
- JAVA中使用TCP协议编程模拟C/S模式
- [置顶] 个人独立网站上线 http://www.16boke.com
- centos7网络设置静态ip