如何在Android应用程序中使用cloudsight api进行图像识别

时间:2016-04-28 19:01:44

标签: android cloudsight

公共类MainActivity扩展了AppCompatActivity {

private static final String API_KEY = "b8fo0q33XyuCTm0qbr6XCg";

static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
static final JsonFactory JSON_FACTORY = new JacksonFactory();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button myBtn = (Button) findViewById(R.id.button);
    TextView t=(TextView) findViewById(R.id.text);

}

public void onClick(View v) {

    try {
        CSApi api = new CSApi(
                HTTP_TRANSPORT,
                JSON_FACTORY,
                API_KEY
        );
        CSPostConfig imageToPost = CSPostConfig.newBuilder()
                .withRemoteImageUrl("https://questions4thoughts.files.wordpress.com/2008/11/50rupees.png")
                .build();

        CSPostResult portResult = api.postImage(imageToPost);

        System.out.println("Post result: " + portResult);
        try{
            Thread.sleep(30000);

            CSGetResult scoredResult = api.getImage(portResult);

           // t.setText(scoredResult);
        }
        catch (InterruptedException e){
            e.getCause();
        }



    }
    catch (IOException e)
    {
        e.printStackTrace();
    }

}

}

我是这个api的新手。我发布并获取文件也不知道如何使用它。当我运行应用程序时,它说不幸停止。我使用了cloudight api,但没有使用它的来源。您可以就如何使用它或其他免费API进行图像识别提出一些解决方案。

2 个答案:

答案 0 :(得分:0)

您是否尝试在 Manifest.xml 中的应用标记上方提供互联网权限? 如果没有,请添加以下行:

<uses-permission android:name="android.permission.INTERNET" />

答案 1 :(得分:0)

很久以前,我也遇到了同样的问题。我做到了:

new Thread() {
@Override
public void run() {
   //your code here
   }
}.start();

它完美无缺,所以我愿意与你分享。但是第一次你将收到状态&#34;未完成&#34;,因为在完成之前,需要6-12秒才能完成。所以尝试运行该线程,直到状态完成。希望你成功。 :)