工具类:异步加载AsyncTask和用法

来源:互联网 发布:js调用servlet 编辑:程序博客网 时间:2024/06/05 08:44
package com.bai.yunifang.util;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.os.AsyncTask;
public class UtilsAsyncTask extends AsyncTask<String, Void, String> {
 @Override
 protected String doInBackground(String... params) {
  // TODO 自动生成的方法存根
  try {
   URL url=new URL(params[0]);
   HttpURLConnection connection=(HttpURLConnection) url.openConnection();
   connection.setRequestMethod("GET");
   connection.setConnectTimeout(5000);
   connection.setReadTimeout(8000);
   int code = connection.getResponseCode();
   if(code==200){
    InputStream inputStream = connection.getInputStream();
    String readjson = Utils.readjson(inputStream);
    return readjson;
   }
  } catch (Exception e) {
   // TODO 自动生成的 catch 块
   e.printStackTrace();
  }
  return null;
 }
}



代码中使用
 // 获取网络数据
  new UtilsAsyncTask() {
   @Override
   protected void onPostExecute(String result) {
    // TODO 自动生成的方法存根
    super.onPostExecute(result);
    Gson gson = new Gson();
    Dataes dataes = gson.fromJson(result, Dataes.class);
    
   }
  }.execute("http://m.yunifang.com/yunifang/mobile/home?random=59676&encode=62d458fefce9c740359873cc19b05188");
0 0
原创粉丝点击