异步访问接口回调返回数据

package zhanghaijiao.bawei.com.netutils_demo;


import android.os.AsyncTask;


import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;


/**
 * Created by jane on 2018/1/5.
 */


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


    //2.申明接口类型变量
    private  ICallBacks iCallBacks;


    //4.传入实现此接口的类对象
    public MyTask(ICallBacks iCallBacks) {
        this.iCallBacks = iCallBacks;
    }


    @Override
    protected String doInBackground(String... strings) {
        try {
            URL url=new URL(strings[0]);
            HttpURLConnection connection =(HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setReadTimeout(5000);
            connection.setConnectTimeout(5000);


            if(connection.getResponseCode()==200){
                InputStream inputStream = connection.getInputStream();
                String s=StreamToStingUtis.streamToString(inputStream);
                return s;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }


    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);


        //3.调用接口
        iCallBacks.getJson(s);


        //iCallBacks=new MainActivity();
       // iCallBacks.getJson(s);


    }


    //1.定义一个接口
    public interface ICallBacks{
        void getJson(String json);
    }
}

版权声明:本文为xiaoxianmao666原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。