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)
相关推荐
2301_771717215 小时前
解决mysql报错:1406, Data too long for column
android·数据库·mysql
dvjr cloi6 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
小白学大数据7 小时前
Python 自动化爬取网易云音乐歌手歌词实战教程
爬虫·python·okhttp·自动化
随遇丿而安8 小时前
第2周:`EditText` 不只是输入框,它是 Android 输入体验的第一道门
android
我命由我123459 小时前
Kotlin 开发 - lateinit 关键字
android·java·开发语言·kotlin·android studio·android-studio·android runtime
一起搞IT吧9 小时前
Android性能系列专题理论之十:systrace/perfetto相关指标知识点细节含义总结
android·嵌入式硬件·智能手机·性能优化
小书房13 小时前
Kotlin的by
android·开发语言·kotlin·委托·by
jinanwuhuaguo14 小时前
(第二十八篇)OpenClaw成本与感知的奇点——从“Token封建制”到“全民养虾”的本体论地基
android·人工智能·kotlin·拓扑学·openclaw
xxjj998a15 小时前
Laravel4.x核心特性全解析
android·mysql·laravel
JoshRen15 小时前
2026教程:在Android Termux中集成Gemini 3镜像站实现移动端文档自动处理与摘要生成(附国内免费方案)
android