Okgo学习 get和post请求(1)

OkGo是封装了okhttp的网络框架,可以与RxJava完美结合,比Retrofit更简单易用。
作者自己认为okgo做网络请求更快捷比较简单。
直接上代码。
第一步在Module的build.gradle:
dependencies {

//必须使用
implementation 'com.lzy.net:okgo:3.0.4'
implementation 'com.lzy.net:okrx:1.0.2'
implementation 'com.lzy.net:okserver:2.0.5'
implementation 'com.google.code.gson:gson:2.2.4'

}
第二步自定义类继承Application:

public class MyApp extends Application {

    public static MyApp myApp;
	
    @Override
    public void onCreate() {
        super.onCreate();

        myApp=this;
        //初始化Okgo 方便全局使用。
        OkGo.getInstance().init(this);

    }
    //必须在清单文件声明  android:name=".MyApp"
    public static MyApp getInstance(){
        return  myApp;
    }
}

第三步 设置两个按钮分别设置监听事件网络请求 直接TextView显示数据

GET请求:

  OkGo.get("https://www.wanandroid.com/article/list/1/json")//
                        .tag(this)
                        .cacheKey("cachekey")//作为缓存的key
                        .cacheMode(CacheMode.NO_CACHE)//设置缓存模式

                        //StringCallback只返回成功
                        .execute(new StringCallback() {
                            @Override
                            public void onSuccess(Response response) {
                                String body = response.body();
                                Gson gson = new Gson();
                                JokeBean bean = gson.fromJson(body, JokeBean.class);
                                request_content.setText("Get请求" + bean.getData().getDatas().toString());
                            }

                            @Override//适配器模式,可以不实现该方法
                            public void onError(Response response) {

                            }
                        });

POST请求:

				 HttpParams params = new HttpParams();
                				params.put("pno", 2);
                				params.put("ps", 20);
                				params.put("dtype", "json");
                				params.put("key", "70fe6c3345e3061c7918fe8bdb7ea42c");
              	OkGo.post("https://v.juhe.cn/weixin/query")
                        .tag(this)
                        .params(params)//传入请求参数
                        .execute(new StringCallback() {
                            @Override
                            public void onSuccess(Response response) {
                                String body = response.body();
                                Gson gson = new Gson();
                             	 WanAndroidBean bean = gson.fromJson(body, 	WanAndroidBean.class);
                                if (bean.getResult().getList() != null) {
                                    request_content.setText("Post请求" + bean.getResult().getList().get(1).toString());
                                }
                            }
                        });

另附效果图:
Okgo学习 get和post请求(1)_第1张图片
Okgo学习 get和post请求(1)_第2张图片一定要在清单文件添加网络权限!

最后祝大家在工作中进步,学习中进步。我们共同进步。

你可能感兴趣的:(Android记录技术)