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)
相关推荐
Dnelic-9 小时前
Android 5G NR 状态类型介绍
android·5g·telephony·connectivity·自学笔记·移动网络数据
吗喽对你问好10 小时前
Android UI 控件详解实践
android·ui
东风西巷13 小时前
X-plore File Manager v4.34.02 修改版:安卓设备上的全能文件管理器
android·网络·软件需求
yzpyzp14 小时前
Android 15中的16KB大页有何优势?
android
安卓开发者14 小时前
Android Room 持久化库:简化数据库操作
android·数据库
程序视点14 小时前
FadCam安卓后台录制神器:2025最全使用指南(开源/免费/息屏录制)
android
猿小蔡15 小时前
Android ADB命令之内存统计与分析
android
游戏开发爱好者816 小时前
没有 Mac,如何上架 iOS App?多项目复用与流程标准化实战分享
android·ios·小程序·https·uni-app·iphone·webview
你过来啊你16 小时前
Android开发中nfc协议分析
android
Auspemak-Derafru17 小时前
安卓上的迷之K_1171477665
android