公共类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的新手。我有帖子和获取文件,我也不知道如何使用它。当我运行应用程序时,它说不幸的是停止。我使用过cloudsightapi,但没有使用它的来源。你能就如何使用它或其他免费的图像识别api提出一些解决方案吗。
您是否尝试在Manifest.xml中的应用程序标记之上授予internet权限?如果没有,请添加以下行:
<uses-permission android:name="android.permission.INTERNET" />
我几次前也遇到过同样的问题。我做到了:
new Thread() {
@Override
public void run() {
//your code here
}
}.start();
它非常完美,所以我把它分享给你。但这是你第一次收到"未完成"的状态,因为cloudsight需要6-12秒才能完成。因此,请尝试运行线程,直到获得状态完成。希望你成功。:)