您的位置:首页 > 理论基础 > 计算机网络

AsyncTask+HttpURLConnection网络获取数据

2018-01-17 09:07 399 查看
import android.os.AsyncTask;

import java.io.InputStream;

import java.net.HttpURLConnection;

import java.net.URL;

/**

 * Created by john on 2018/1/12.

 */

public class MyTask extends AsyncTask<String,Void,String>{

    private Icallback icallback;

    private String streamtostr;

    private MyTask(){}

    public MyTask(Icallback icallback) {

        this.icallback = icallback;

    }

    @Override

    protected String doInBackground(String... strings) {

        String str="";

        try {

            URL url=new URL(strings[0]);

            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

            urlConnection.setRequestMethod("GET");

            urlConnection.setReadTimeout(5000);

            urlConnection.setConnectTimeout(5000);

            if (urlConnection.getResponseCode()==200){

                InputStream inputStream = urlConnection.getInputStream();

                streamtostr = StreamtoStr.streamtostr(inputStream, "utf-8");

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

        return streamtostr;

    }

    @Override

    protected void onPostExecute(String s) {

        super.onPostExecute(s);

        icallback.updateUiByjson(s);

    }

    public interface Icallback{

        void updateUiByjson(String string);

    }
}

//StreamtoStr工具类

public static String streamtostr(InputStream stream, String s){

        StringBuilder builder=new StringBuilder();

        try {

            BufferedReader reader=new BufferedReader(new InputStreamReader(stream,s));

            String string;

            while((string=reader.readLine())!=null){

                builder.append(string);

            }

            reader.close();

            return  builder.toString();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return "";

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐