Android:使用OkHttp

1、权限:

复制代码
<uses-permission android:name="android.permission.INTERNET" />

implementation 'com.squareup.okhttp3:okhttp:3.4.1'

2、GET:

复制代码
new XXXTask ().execute("http://192.168.191.128:9000/xx");

private class XXXTask extends AsyncTask<String, Void, String> {
        protected String doInBackground(String... urls) {

            Response response = null;
            String responseData = "null";
            OkHttpClient client = new OkHttpClient();

            Request request = new Request.Builder().get()
                    .url(urls[0])
                    .build();

            try {
                response = client.newCall(request).execute();
                responseData = response.body().string();


            } catch (IOException e) {
                e.printStackTrace();
                responseData = "error:" + e.toString();

            }
            return responseData;
        }

        protected void onPostExecute(String result) {
            if (result != null) {

                if (result.startsWith("error")){
                    Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show();
                    return;
                }


                try {
                    JSONObject jsonObject = new JSONObject(result);
                    JSONArray jsonArray = jsonObject.getJSONArray("body");
                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject jsonObjectTempt = jsonArray.getJSONObject(i);
                        items.add(jsonObjectTempt.getString("userName") );
                    }

                } catch (JSONException e) {
                    e.printStackTrace();
                    Toast.makeText(MainActivity.this, e.toString(), Toast.LENGTH_LONG).show();
                }
            }

        }
    }

3、POST:

复制代码
new XXTask().execute("http://192.168.191.128:9000/xxx", selectedItem, mcode, serial);

private class XXTask extends AsyncTask<String, Void, String> {
        protected String doInBackground(String... urls) {

            Response response = null;
            String responseData = "null";
            OkHttpClient client = new OkHttpClient();


            RequestBody requestBody = new FormBody.Builder()
                    .add("mcode", urls[2])
                    .add("user", urls[1])
                    .add("serial", urls[3]).build();


            Request request = new Request.Builder().post(requestBody)
                    .url(urls[0])
                    .build();

            try {
                response = client.newCall(request).execute();
                responseData = response.body().string();


            } catch (IOException e) {
                code.setText("");
                e.printStackTrace();
                responseData = "error:" + e.toString();
            }
            return responseData;
        }

        protected void onPostExecute(String result) {
            code.setText("");
            if (result != null) {
                if (result.startsWith("error")){
                    Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show();
                    return;
                }
                try {
                    JSONObject jsonObject = new JSONObject(result);
                    String resultTempt = jsonObject.getString("result");

                    if (resultTempt.equals("success")){
                        Toast.makeText(MainActivity.this,  "记录成功", Toast.LENGTH_SHORT).show();
                    }else if(resultTempt.equals("fail")){
                        String bodyTempt = jsonObject.getString("body");
                        Toast.makeText(MainActivity.this,  bodyTempt, Toast.LENGTH_SHORT).show();
                    }else {
                        Toast.makeText(MainActivity.this,  result, Toast.LENGTH_SHORT).show();
                    }

                } catch (JSONException e) {
                    e.printStackTrace();
                    Toast.makeText(MainActivity.this, e.toString(), Toast.LENGTH_LONG).show();
                }
            }

        }
    }

POST后台 controller

复制代码
 @PostMapping("/xx")
    @ResponseBody
    @Transactional
    public String xx(@RequestParam(name = "mcode") String mcode,
                               @RequestParam(name = "serial") String serial,
                               @RequestParam(name = "user") String user)
相关推荐
星空寻流年6 小时前
设计模式第五章(门面模式)
android·设计模式
fionlsq7 小时前
uniapp集成原生安卓开发的插件
android·uni-app·小组件
风起云涌~10 小时前
【Android】kotlin.flow简介
android·开发语言·kotlin
深海呐10 小时前
Android 协程的基本使用和最简要原理概述
android·协程·android 协程·协程的原理
studyForMokey11 小时前
【Kotlin进阶】泛型的高级特性
android·开发语言·kotlin
袁震11 小时前
Android-kotlin MVVM框架搭建+Retrofit二次封装
android·kotlin·mvvm·retrofit
2501_9160074712 小时前
Java界面开发工具有哪些?常用Java GUI开发工具推荐、实战经验与对比分享
android·java·开发语言·ios·小程序·uni-app·iphone
铭哥的编程日记12 小时前
《Linux 基础 IO 完全指南:从文件描述符到缓冲区》
android·linux·运维
come1123413 小时前
Go 语言中的结构体
android·开发语言·golang