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 ...
随机推荐
- understanding ECMAscript 6 ---- block bindings
Traditionally, the way variable declarations work has been one tricky part of programming in javascr ...
- IT关键词,发现与更新,点成线,线成面,面成体
时序图 1.什么是时序图 2.如何看懂时序图 3.时序图的作用 4.如何绘制时序图 分布式 一个业务分拆多个子业务,部署在不同的服务器上. 分布式是指将不同的业务分布在不同的地方. 而集群指的是将几台 ...
- Java 源码解析之局部变量检查
package com.tang; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream ...
- [阅读笔记]Zhang Y. 3D Information Extraction Based on GPU.2010.
1.立体视觉基础 深度定义为物体间的距离 视差定义为同一点在左图(reference image) 和右图( target image) 中的x坐标差. 根据左图中每个点的视差得到的灰度图称为视差图. ...
- lua特性纪要
[局部变量] lua的局部变量通过local进行显示声明, 其作用域仅限于声明它的块block.这里的block分为三种类型: 1.控制结构的执行体 2.函数的执行体 3.chunk 比较容易引起混淆 ...
- adb命令学习
录制屏幕操作Android4.4版本以上支持录制屏幕 adb shell screenrecord /sdcard/demo.mp4 ADB logcat 输出时间信息: adb logcat -v ...
- spark 安装
Spark 集群安装 1.上传tar包,解压tar包 tar -zxvf spark-2.0.0-bin-hadoop2.6.tgz 2.修改配置文件(这是yarn模式) 进入 spark/conf ...
- lamp搭建,thinkphp安装
有几天没有记录学习进度了,简单回顾一下:前天由于不熟悉linux的安装操作,以及遇上了各种问题花了将近6小时搭建好了lamp,然而在中途学习修改配置时误改了启动的图形文件,导致了昨天开机时图形界面无法 ...
- Oracle表空间,用户,用户授权
一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级 ...
- Javascript学习笔记2.1 Javascript与DOM简介
DOM(文档对象模型)简介 DOM(文档对象模型)针对HTML和XML文档的一个API. DOM可以将任何HTML或XML文档描绘成由多层节点构成的树形结构,它是中立于平台和语言的接口,允许程序和脚本 ...