单例模式封装网络工具类

用途:通过封装工具类和接口回调的方式来获取网络数据

//单例模式public class NetUtils {    private static final NetUtils ourInstance = new NetUtils();    public static NetUtils getInstance() {        return ourInstance;    }    private NetUtils() {    }    public void getDataFromService(String url){        //向LoadData传递参数        new LoadData().execute(url);    }//定义接口,接口回调    public interface NetCallBack{        void onSuccess(String result);    }    private NetCallBack netCallBack;    public void setNetCallBack(NetCallBack netCallBack) {        this.netCallBack = netCallBack;    }//具体实现解析的方法(此处直接返回了json)    class LoadData extends AsyncTask{        @Override        protected String doInBackground(String... strings) {            try {                URL url = new URL(strings[0]);                HttpURLConnection connection= (HttpURLConnection) url.openConnection();                connection.setConnectTimeout(5000);                connection.setConnectTimeout(5000);                if (connection.getResponseCode()==HttpURLConnection.HTTP_OK){                    return CharStreams.toString(new InputStreamReader(connection.getInputStream()));                }            } catch (Exception e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(String s) {            netCallBack.onSuccess(s);        }    }}

 

更多相关文章

  1. Activity的启动模式总结
  2. JNI之------C调用java接口
  3. Android9.0默认使用MTP模式
  4. Android 工具类的两种写法---单例模式与静态方法
  5. 【Android】Web开发之通过Apache接口处理Http请求
  6. android觀察者模式三種實現方法
  7. Android中Task任务栈的四种模式
  8. 设计模式—建造者模式及实例(BuilderPattern)
  9. Android全屏模式,沉浸模式。粘性沉浸模式

随机推荐

  1. ScrollView实现界面自动滚动
  2. 使用IntelliJ IDEA 编译Android(安卓)JNI
  3. Android(安卓)UI开发第二十八篇——Fragm
  4. 10 个 Android开发人员必备的开发工具
  5. Android(安卓)文件系统移植
  6. Android下Bonjour服务的使用
  7. MVP 笔记
  8. Android平台软件体系浅注
  9. Android菜鸟日记12 Gallery
  10. Android中常用基本控件的使用方法和步骤(.