Cloudsight api安卓工作室

时间:2017-12-08 16:55:18

标签: cloudsight

我正在尝试使用来自url的图像在我的Android应用中使用cloudsight.ai api, 来自mashape platform

的cloudsight.ai api

当我构建应用程序时没有问题但是当我运行它并单击按钮时它就崩溃了。

以下是使用unirest库的请求代码:

        try {
        HttpResponse<JsonNode> sent = Unirest.post("https://camfind.p.mashape.com/image_requests")
                .header("X-Mashape-Key", "key")
                .header("Content-Type", "application/x-www-form-urlencoded")
                .header("Accept", "application/json")
                .field("image_request[language]", "en")
                .field("image_request[locale]", "en_US")
                .field("image_request[remote_image_url]", img)
                .asJson();
        req_body=sent.getBody().toString();
    } catch (UnirestException e) {

    }

这里的回复代码:

try {
        JSONObject json = new JSONObject(req_body);
        token = json.getString("token");
    } catch (JSONException e) {

    }

    try {
        Thread.sleep(10000);
    } catch (InterruptedException e) {

    }
    String res_path = "https://camfind.p.mashape.com/image_responses/" + token;
    try {
        HttpResponse<JsonNode> response = Unirest
                .get(res_path)
                .header("X-Mashape-Key", "key")
                .header("Accept", "application/json")
                .asJson();
        result=response.getBody().toString();
    } catch (UnirestException e) {

    }
    Toast.makeText(Main3Activity.this,result,Toast.LENGTH_SHORT).show();
}

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果应用程序试图访问或修改对象的指定字段,并且该对象不再具有该字段,则抛出

NoSuchFieldError。 通常,编译器会捕获此错误;如果类的定义发生了不兼容的更改,则此错误只能在运行时发生。大多数情况下,当您的应用程序没有完全编译或编译好后,但后来对一些尚未编译的引用进行了更改时,就会发生这种情况。

您可以通过清理所有项目文件并使用clean和build菜单项从头开始重新构建它们来解决此问题。