尝试调用方法时强制关闭

Thi*_*cão 6 sdk android gateway aws-sdk aws-api-gateway

我尝试设置客户端时遇到问题,我收到消息:factory.build中的toString()失败。方法抛出“ java.lang.IllegalArgumentException”异常。当我打电话时无法评估$ Proxy1.toString()

ApiClientFactory factory = new ApiClientFactory();
factory.apiKey("xXxxXXXxxXXXXXXxxxxX");
final APIGatewayPediuClient client = factory.build(APIGatewayPediuClient.class); // exception happened in this line, proxy throw exepction
Run Code Online (Sandbox Code Playgroud)

当我尝试调用该方法时

Places place = client.placesGet();

强制关闭发生

com.amazonaws.http.UrlHttpClient.createHttpResponse(UrlHttpClient.java:72)
at com.amazonaws.http.UrlHttpClient.execute(UrlHttpClient.java:66)
at com.amazonaws.mobileconnectors.apigateway.ApiClientHandler.invoke(ApiClientHandler.java:91)
at java.lang.reflect.Proxy.invoke(Proxy.java:393)
at $Proxy1.placesGet(Unknown Source)
at net.devsoft.pediu.activity.HomeActivity$override.onCreate(HomeActivity.java:195)
at net.devsoft.pediu.activity.HomeActivity$override.access$dispatch(HomeActivity.java)`
Run Code Online (Sandbox Code Playgroud)

SDK版本:

compile com.amazonaws:aws-android-sdk-core:2.2.6'
compile 'com.amazonaws:aws-android-sdk-cognito:2.2.6'
compile 'com.amazonaws:aws-android-sdk-apigateway-core:2.2.6'
compile 'com.google.code.gson:son:1.7.2
Run Code Online (Sandbox Code Playgroud)

但已经尝试使用AWS 2.2.15版并且仍然无法正常工作,SDK可以将其完美地生成到Obj-C

Mig*_*mos 1

解决方案是将这段代码放入 AsyncTask 中。

 new AsyncTask<Void, Void, Void>() {
        @Override
        protected Void doInBackground(Void... params) {

             ApiClientFactory factory = new ApiClientFactory();
             factory.apiKey("xXXxXXXXXXXxxxxXXxxXXXXxxx");
             final APIGatewayPediuClient client = factory.build(APIGatewayPediuClient.class); 
             Places place = client.placesGet();
            return null;
        }
    }.execute();
Run Code Online (Sandbox Code Playgroud)

  • 在 AsyncTask 内部尝试过此操作。仍然产生完全相同的消息 (2认同)