AsyncTask异步交互和httpurlconnection结合使用
//网络请求数据
package com.baidu.myutils; import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL; import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo; public class MyUtils { //设置请求方式
public static String Json_url="http://93.gov.cn/93app/get_search.do?key=%E4%B9%9D%E4%B8%89&startNum=0";
//判断网络是否连接
public static boolean Netisavilable(Context context){
//获得网络管理
ConnectivityManager cManager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//获得网络详情
NetworkInfo networkInfo=cManager.getActiveNetworkInfo();
if(networkInfo==null||!networkInfo.isAvailable()){
return false;
}
return true; } public static String check_j(String url){
String str="";
StringBuffer sb=new StringBuffer(Json_url);
try {
//创建url
URL myurl=new URL(sb.toString());
HttpURLConnection urlConnection=(HttpURLConnection) myurl.openConnection();
urlConnection.setConnectTimeout();
urlConnection.setReadTimeout();
if(urlConnection.getResponseCode()==){
BufferedReader br=new BufferedReader
(new InputStreamReader
(urlConnection.getInputStream(),"utf-8")); str=br.readLine();
} } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return str;
}
}
package com.baidu.myutils; import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL; import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo; public class MyUtils { //设置请求方式
public static String Json_url="http://93.gov.cn/93app/get_search.do?key=%E4%B9%9D%E4%B8%89&startNum=0";
//判断网络是否连接
public static boolean Netisavilable(Context context){
//获得网络管理
ConnectivityManager cManager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//获得网络详情
NetworkInfo networkInfo=cManager.getActiveNetworkInfo();
if(networkInfo==null||!networkInfo.isAvailable()){
return false;
}
return true; } public static String check_j(String url){
String str="";
StringBuffer sb=new StringBuffer(Json_url);
try {
//创建url
URL myurl=new URL(sb.toString());
HttpURLConnection urlConnection=(HttpURLConnection) myurl.openConnection();
urlConnection.setConnectTimeout();
urlConnection.setReadTimeout();
if(urlConnection.getResponseCode()==){
BufferedReader br=new BufferedReader
(new InputStreamReader
(urlConnection.getInputStream(),"utf-8")); str=br.readLine();
} } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return str;
}
}
//解析数据 AsyncTask异步交互
package combaidu.zong; import java.util.List; import com.baidu.adapter.MyAdapter;
import com.baidu.myutils.MyUtils;
import com.baidu.vo.MyData;
import com.baidu.vo.MyNews;
import com.google.gson.Gson; import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.database.CursorJoiner.Result;
import android.view.Menu;
import android.widget.ListView; public class MainActivity extends Activity {
// http://93.gov.cn/93app/get_search.do?key=%E4%B9%9D%E4%B8%89&startNum=0 private ListView lv;
private List<MyData> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
//找到相应的控件
lv = (ListView) findViewById(R.id.lv);
new MyTask().execute(MyUtils.Json_url);
} class MyTask extends AsyncTask<String, String , String>{ @Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
String str=params[];
String jstr=MyUtils.check_j(str); return jstr;
}
@Override
protected void onPostExecute(String result) {
System.out.println(result+"--------------"); Gson g=new Gson();
MyNews myNews=g.fromJson(result, MyNews.class);
list = myNews.getList();
System.out.println(list+"-------集合为:-------");
lv.setAdapter(new MyAdapter(MainActivity.this,list));
super.onPostExecute(result);
} } }
AsyncTask异步交互和httpurlconnection结合使用的更多相关文章
- AsyncTask异步交互
package com.baidu.day06asynctask; import java.util.ArrayList; import java.util.List; import com.baid ...
- 使用AsyncTask异步更新UI界面及原理分析
概述: AsyncTask是在Android SDK 1.5之后推出的一个方便编写后台线程与UI线程交互的辅助类.AsyncTask的内部实现是一个线程池,所有提交的异步任务都会在这个线程池中的工作线 ...
- Android 多线程----AsyncTask异步任务详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...
- android AsyncTask异步下载并更新进度条
AsyncTask异步下载并更新进度条 //如果不是很明白请看上篇文章的异步下载 AsyncTask<String, Integer, String> 第一个参数:String 传入 ...
- Android异步处理系列文章四篇之二 使用AsyncTask异步更新UI界面
Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Loope ...
- Android异步处理二:使用AsyncTask异步更新UI界面
在<Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面>中,我们使用Thread+Handler的方式实现了异步更新UI界面,这一篇中,我们介绍一种更为简 ...
- 带你轻松看源代码---AsyncTask(异步任务)
本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/62893318 写 ...
- Android线程管理之AsyncTask异步任务
前言: 前面几篇文章主要学习了线程以及线程池的创建与使用,今天来学习一下AsyncTask异步任务,学习下AsyncTask到底解决了什么问题?然而它有什么弊端?正所谓知己知彼百战百胜嘛! 线程管理相 ...
- 实现AJAX的异步交互的步骤
<input type="button" value="异步请求"id="btn"> <script> 实现ajax ...
随机推荐
- 流媒体测试笔记记录之————解决问题video.js 播放m3u8格式的文件,根据官方的文档添加videojs-contrib-hls也不行的原因解决了
详细代码Github:https://github.com/Tinywan/PHPSharedLibrary/tree/master/Tpl/Html5/VideoJS 想播放hls协议的就是m3u8 ...
- 慕课网__HTML5 存储
application cache 只能更新全部,不能更新单独的文件 在更新后,要重新打开浏览器,缓存才会生效, 不能实时生效
- 在Eclipse中添加C/C++插件
如果尚未安装 Eclipse,可直接下载包含C/C++的 Eclipse IDE http://www.eclipse.org/downloads/eclipse-packages/?osType=l ...
- js生成二维码
jquery.qrcode.js 使用 1. 加载 jQuery 和 jquery.qrcode.js: <script type='text/javascript' src='http://c ...
- JavaScript获取浏览器类型与版本
从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下: <script type="text/javascript"> var S ...
- 实现PHPCMS手机门户的伪静态
1.打开/phpcms/modules/wap/functions/global.func.php找到里面的这两个函数,如下图所示的注释掉的那行代码,在下面加入一行代码. function list_ ...
- malloc error:初始值设定元素不是常量
#include <stdio.h> #include <stdlib.h> char *buf = (char *)malloc(BUFSIZ); setbuf(stdout ...
- iOS使用Security.framework进行RSA 加密解密签名和验证签名
iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...
- 遇到 java.io.EOFException 异常的解决办法
可以试着clean项目后再启动!原因未明
- 里面的div怎么撑开外面的div,让高度自适应
关于容器高度自适应的兼容性问题.1.有些时候,我们希望容器有一个固定高度,但当其中的内容多的时候,又希望高度能够自适应,也即容器在纵向能被撑开,且如果有背景,也能够自适应.在一般情况下,使用min-h ...