//网络请求数据

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结合使用的更多相关文章

  1. AsyncTask异步交互

    package com.baidu.day06asynctask; import java.util.ArrayList; import java.util.List; import com.baid ...

  2. 使用AsyncTask异步更新UI界面及原理分析

    概述: AsyncTask是在Android SDK 1.5之后推出的一个方便编写后台线程与UI线程交互的辅助类.AsyncTask的内部实现是一个线程池,所有提交的异步任务都会在这个线程池中的工作线 ...

  3. Android 多线程----AsyncTask异步任务详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

  4. android AsyncTask异步下载并更新进度条

    AsyncTask异步下载并更新进度条    //如果不是很明白请看上篇文章的异步下载 AsyncTask<String, Integer, String> 第一个参数:String 传入 ...

  5. Android异步处理系列文章四篇之二 使用AsyncTask异步更新UI界面

    Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Loope ...

  6. Android异步处理二:使用AsyncTask异步更新UI界面

    在<Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面>中,我们使用Thread+Handler的方式实现了异步更新UI界面,这一篇中,我们介绍一种更为简 ...

  7. 带你轻松看源代码---AsyncTask(异步任务)

    本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/62893318 写 ...

  8. Android线程管理之AsyncTask异步任务

    前言: 前面几篇文章主要学习了线程以及线程池的创建与使用,今天来学习一下AsyncTask异步任务,学习下AsyncTask到底解决了什么问题?然而它有什么弊端?正所谓知己知彼百战百胜嘛! 线程管理相 ...

  9. 实现AJAX的异步交互的步骤

    <input type="button" value="异步请求"id="btn"> <script> 实现ajax ...

随机推荐

  1. Android导航栏菜单强制转换

    private void getOverflowMenu() { ViewConfiguration viewConfig = ViewConfiguration.get(this); try { F ...

  2. caroufredsel 参数

    caroufredsel 参数 参数列表:参数名     默认值     说明circular     true     循环模式,true为无限循环,false为单轮循环.infinite      ...

  3. unity平台的预处理

    unity平台的预处理     在开发中,特别是unity的跨平台中,我们经常会在各个平台游走,如安卓版,苹果版,PC版.......在此不同的平台上,有可能我们需要做不同的操作.然而我们就可以用un ...

  4. InventSumDelta表的作用

    https://groups.google.com/forum/#!topic/microsoft.public.axapta.programming/rRfbJo9M0dk The purpose ...

  5. No package mysql-server available.

    Centos 7 comes with MariaDB instead of MySQL. MariaDb is a open source equivalent to MySQL and can b ...

  6. 关于absolute 和 relative 定位的定义

    absolute的英文意思是绝对的意思,实际上是针对父级元素元素定位,如果父级元素没有position:relative|absolute,则追至再上一个父级元素,直至相对于文档的左上角定位,按照我们 ...

  7. [转]IE8兼容Jquery.validate.js兼容问题

    只需在jquery.validate.js 文件中在446行附近找到return $([]).add(this.currentForm.elements).filter(":input&qu ...

  8. 学习PYTHON之路, DAY 7 - PYTHON 基础 7 (面向对象基础)

    面向对象三大特性 一.封装 封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容. 所以,在使用面向对象的封装特性时,需要: 将内容封装到某处 从某处调用被封装的内容 第一步:将内容 ...

  9. Sql Server参数化查询之where in和like实现详解

    where in 的参数化查询实现 首先说一下我们常用的办法,直接拼SQL实现,一般情况下都能满足需要 string userIds = "1,2,3,4"; using (Sql ...

  10. DOS常用命令总结

    cd 文件夹 如要进入D盘x文件夹,需要先d: 再Enter,然后cd x再Enter. echo \ & pause exit 换行等待按任意键退出,在此操作之前可以做发邮件等动作,bat调 ...