TimSv 2022-04-13 16:14 采纳率: 77.8%
浏览 158
已结题

鸿蒙开发遇到的API调用问题

想要调用多个API,但是点击按钮是出现闪退,无法呈现页面内容,请大家帮忙看一下,代码如下:

 button1.setClickedListener(new Component.ClickedListener() {
            @Override
            public void onClick(Component component) {

                TaskDispatcher taskDispatcher=getGlobalTaskDispatcher(TaskPriority.DEFAULT);
                taskDispatcher.asyncDispatch(new Runnable() {
                    @Override
                    public void run() {
                        //String inputword=textField1.getText();
                        String url="https://v2.alapi.cn/api/one?token=LwExDtUWhF3rH5ib";
                        String method="GET";
                        String result=APIRequest.URLRequest(url,method) ;

                        String[] pack1=new String[3];
                        pack1[0]=JsonParse.parseTitle(result);
                        pack1[1]=JsonParse.parseSubTitle(result);
                        pack1[2]=JsonParse.parseContent(result);
                        pack1[2]= HTMLChange.delHTMLTag(pack1[2]);

                        InnerEvent evt=InnerEvent.get(1);
                        evt.object=pack1;
                        eventHandler.sendEvent(evt);
                    }
                });

            }
        });

        eventRunner=EventRunner.getMainEventRunner();
        eventHandler= new XEventHandler(eventRunner);

        Intent intent1=new Intent();
//获取笑话按钮
        button3.setClickedListener(new Component.ClickedListener() {
            @Override
            public void onClick(Component component) {
                TaskDispatcher taskDispatcher3 = getGlobalTaskDispatcher(TaskPriority.DEFAULT);
                taskDispatcher3.asyncDispatch(new Runnable() {
                    @Override
                    public void run() {
                        String url ="http://v.juhe.cn/joke/content/list.php?key=d1ea03b16d3129829962c977e90c4089&page=2&pagesize=10&sort=asc&time=1418745237";
                        String method="GET";
                        String result=APIRequest.URLRequest(url,method);
                        button3.setText("正在访问,请稍后");
                    }
                });


            }
        });

        eventRunner=EventRunner.getMainEventRunner();
        eventHandler= new XEventHandler(eventRunner);

        Intent intent2=new Intent();
//获取历史上的今天按钮
        button4.setClickedListener(new Component.ClickedListener() {
            @Override
            public void onClick(Component component) {
                TaskDispatcher taskDispatcher2 = getGlobalTaskDispatcher(TaskPriority.DEFAULT);
                taskDispatcher2.asyncDispatch(new Runnable() {
                    @Override
                    public void run() {
                        String url ="http://v.juhe.cn/todayOnhistory/queryEvent.php?key=61d3edc3abb6bceb5d4bd04b5aa7b44b&date=1/1";
                        String method="GET";
                        String result=APIRequest.URLRequest(url,method);
                        button4.setText("正在访问,请稍后");
                    }
                });
            }
        });

        eventRunner=EventRunner.getMainEventRunner();
        eventHandler= new XEventHandler(eventRunner);

        Intent intent3=new Intent();

//获取新闻按钮
        button5.setClickedListener(new Component.ClickedListener() {
            @Override
            public void onClick(Component component) {
                TaskDispatcher taskDispatcher1 = getGlobalTaskDispatcher(TaskPriority.DEFAULT);
                taskDispatcher1.asyncDispatch((new Runnable() {
                    @Override
                    public void run() {
                        String url ="http://v.juhe.cn/toutiao/index?type=top&key=8294de837ce3985db1124c7dcee24332";
                        String method="GET";
                        String result=APIRequest.URLRequest(url,method);
                        button5.setText("正在访问,请稍后");
                    }
                }));
            }
        });

        eventRunner=EventRunner.getMainEventRunner();
        eventHandler= new XEventHandler(eventRunner);

        Intent intent4=new Intent();



![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/361726738946147.png "#left")
  • 写回答

3条回答 默认 最新

  • 太空眼睛 Java领域新星创作者 2022-04-20 22:24
    关注

    好像遇到过类似的问题,一行代码的问题,通过一步步断点可以定位的。

    评论

报告相同问题?

问题事件

  • 系统已结题 4月21日
  • 赞助了问题酬金10元 4月13日
  • 创建了问题 4月13日

悬赏问题

  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误