OkHttp获取网络数据

来源:互联网 发布:patch软件资源下载 编辑:程序博客网 时间:2024/06/05 21:00
获取网络接口的数据,使用OkHttp可以帮助我们更快的加载

首先我们需要更新自己的依赖包,在清单文件中配置信息

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

到入 utils 和 app 工具包,同时不要忘了配置我们的MyApp

在app中的build文件中依赖

 compile 'com.squareup.okio:okio:1.5.0'
    compile 'com.squareup.okhttp3:okhttp:3.2.0'
    compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
    compile 'com.google.code.gson:gson:2.8.2'

当这些配置信息做完之后就可以开始我们主线程的功能了

boolean netWorkAvailable = NetWorkUtils.isNetWorkAvailable(this);if (!netWorkAvailable) {    Toast.makeText(GoodsActivity.this, "联网:" + netWorkAvailable, Toast.LENGTH_SHORT).show();}
这是判断我们的联网信息,如果没网了,我们之后做的就什么都不会出现了

OkHttp3Utils.getInstance().doGet(path, new GsonObjectCallback<Super>() {    @Override    public void onUi(Super aSuper) {        for(int i=0;i<aSuper.getData().size();i++){            mDatas.add(new MyData(aSuper.getData().get(i).getPic_url(),aSuper.getData().get(i).getNews_title()));        }    }    @Override    public void onFailed(Call call, IOException e) {    }});

这里是一个集合添加内容,通过解析json获取信息,根据自己配置的泛型,向集合中添加数据
我们只是简单做了一个获取数据的功能 之后有其他的功能暂时不去实现


调用了一个tostring方法,给textview赋值做了一个测试,获取数据,我们可以根据需要配置自己的布局
将数据放到自己需要的位置
原创粉丝点击