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 ...
随机推荐
- 深入理解BFC和外边距合并(Margin Collapse)
一.什么是BFC? 1.BFC的概念 BFC全称Block Formatting Context ,直译“块级格式化上下文”,也有译作“块级格式化范围”.它是 W3C CSS 2.1 规范中的一个概念 ...
- 【51nod】区间求和
LYK在研究一个有趣的东西. 假如有一个长度为n的序列,那么这个序列的权值将是所有有序二元组i,j的 Σaj−ai 其中1<=i<j<=n. 但是这个问题似乎太简单了. 于是LYK想 ...
- Babel 学习
一,为了更明白地使用Babel, 先了解Babel 的发展过程. 现在Babel的版本是6, 相对于以前的版本, 它做了重大更新: 1, 模块化:所有的内部组件都变成了单独的包.打开Babel在Git ...
- Java动态代理与Cglib库
JDK动态代理 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委托类之间通常会存在 ...
- 当shiro做成动态URL管理时出现循环注入BeanCurrentlyInCreationException的问题解决方法
<!-- Shiro的Web过滤器 --> <bean id="shiroFilter" class="org.apache.shiro.spring. ...
- unity自带寻路Navmesh入门教程(三)
继续介绍NavMesh寻路的功能,接下来阿赵打算讲一下以下两个例子,先看看完成的效果: 第一个例子对于喜欢DOTA的朋友应该很熟悉了,就是不同小队分不同路线进攻的寻路,红绿蓝三个队伍分别根据三条路 ...
- phalcon: 多模块多表查找,多表sql
那么多模块下,如何分页的,如果直接用->from(表名),报错找不到此类,此时要引用model类的全命名空间名称如下: $builder = $this->modelsManager-&g ...
- java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter
今天在用git merge 新代码后报了如下错误:java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterE ...
- 使用Let`s encrypt 免费的https 证书
在iOS上以前暂时屏蔽https使用http的接口,将在未来被苹果拒绝: 之前传苹果会在2017年1月1日强制要求支持https,但是现在苹果又延迟该计划了 https://developer.app ...
- Hadoop基础学习框架
我们主要使用Hadoop的2个部分:分布式文件存储系统(HDFS)和MapReduce计算模型. 关于这2个部分,可以参考一下Google的论文:The Google File System 和 Ma ...