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)
相关推荐
火柴就是我4 小时前
让我们实现一个更好看的内部阴影按钮
android·flutter
砖厂小工10 小时前
用 GLM + OpenClaw 打造你的 AI PR Review Agent — 让龙虾帮你审代码
android·github
张拭心11 小时前
春节后,有些公司明确要求 AI 经验了
android·前端·人工智能
张拭心11 小时前
Android 17 来了!新特性介绍与适配建议
android·前端
Kapaseker13 小时前
Compose 进阶—巧用 GraphicsLayer
android·kotlin
黄林晴14 小时前
Android17 为什么重写 MessageQueue
android
阿巴斯甜1 天前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker1 天前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq95272 天前
Andorid Google 登录接入文档
android
黄林晴2 天前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack