有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android Studio上的java Yelp API

我以前一直是这个网站的潜伏者,帮助我找到一些问题的答案,但我现在被困在这个网站上,无法找到最新的解决方案。我找到的最接近我问题的答案是Yelp API Android IntegrationYelp Integration in Android

我试着按照第二个链接中的步骤进行操作,但它们有点过时了。我已经注册了一个API,从github下载了jar文件并进行了同步,还制作了YelpAPI。java和TwoStepOAuth。java文件,并从YelpAPI中删除了main方法。我被困在搜索部分的第4步。我试图从为按钮创建的onClick方法中调用queryAPI方法

    public void getRandom(View view) {
    Intent intent = new Intent(this, SecondActivity.class);
    startActivity(intent);
    YelpAPI.YelpAPICLI yelpApiCli = new YelpAPI.YelpAPICLI();
    new JCommander(yelpApiCli);
    YelpAPI yelpApi = new YelpAPI(CONSUMER_KEY, CONSUMER_SECRET, TOKEN, TOKEN_SECRET);
    try {
        YelpAPI.queryAPI(yelpApi, yelpApiCli);
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

基本上我想做的是,当按下按钮时,我希望它进入第二个屏幕,显示我查询Yelp的内容。我还没做那部分,现在我只想从Yelp那里得到一个结果。请记住,我在安卓工作室是一个彻头彻尾的noob,至多在Java是一个中级

任何帮助都是非常感谢的,这似乎是一个非常简单的问题,但它花了我永远的时间来解决我自己


共 (1) 个答案

  1. # 1 楼答案

    您不能在android的主线程(UI线程)中执行诸如下载或图像加载之类的阻塞任务。阻止用户界面的时间不能超过5秒。如果您尝试阻止超过5秒,您的应用程序将停止工作并显示“不幸的是,您的应用程序已停止工作”,因为错误导致主线程上的工作过多。因此,您需要使用异步任务