解决方案:
//这个放在线程里面Message msg = new Message();msg.obj = list;handler.sendMessage(msg);
//这个可放在线程外面,线程所在的方法里面也行。handler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);String[] list = (String[]) msg.obj; //实例化对接收数据showSingleAlertDialog(list); //自定义的方法,真正需要参数的地方}};
//返回的类型啥的自己定
static String[] get() {Log.d("success", "get start !");//还有这句也是必须的,requestURL是我需要访问的后端接口ip+接口(例如::8080/xx/xx)Request request = new Request.Builder().url(requestURL).build(); try {//主要是这句获取Json返回,这是Get请求的Response response = wCall(request).execute(); //然后就是操作返回的数据了if (response.isSuccessful()) {// 我这是把返回的json{"张三",“莉莉丝”,“王二狗”}转换成一个String9[]数组,下面根据自己需求操作即可String result = response.body().string();JSONArray arr = JSONArray.parseArray(result); Log.d("success", String());Array(new String[0]);}Log.d("fail", "返回参数错误 !");} catch (Exception e) {e.printStackTrace();}Log.d("fail", "返回参数为空 !");return null;}
new Thread(new Runnable() {@Overridepublic void run() {try {String[] list = (); //关键焦点在这里,直接建一个对象来接返回的数据Message msg = new Message();msg.obj = list;handler.sendMessage(msg);Log.d("success", "run: " + list);} catch (Exception e) {Log.d("failure", "run: " + e.toString());}}}).start();
本文发布于:2024-01-29 18:06:57,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170652281917305.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |