封装网络请求 HttpUrlConnection+AsyncTask

public class HttpConUtils {

//创建一个静态方法
public void getpath(String path) {
    MyAsyncTask myAsyncTask = new MyAsyncTask();
    myAsyncTask.execute(path);
}

//自定义一个asyncTask
public class MyAsyncTask extends AsyncTask<String,Integer,String>{

    @Override
    protected String doInBackground(String... strings) {
        try {
            URL url = new URL(strings[0]);
            HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
            httpURLConnection.setRequestMethod("GET");
            httpURLConnection.setConnectTimeout(3000);
            int responseCode = httpURLConnection.getResponseCode();
            if (responseCode == httpURLConnection.HTTP_OK){
                InputStream inputStream = httpURLConnection.getInputStream();
                String s = CharStreams.toString(new InputStreamReader(inputStream, "UTF-8"));
                return s;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

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

//写一个接口
public interface GetDate{
    void setstring(String s);
}

private GetDate getDate;

//写一个监听,可让外部访问
public void getstring(GetDate getDate1) {
    getDate = getDate1;
}

}

猜你喜欢

转载自blog.csdn.net/qq_42805756/article/details/83381446
今日推荐