Java 放置未在SuccessListener上运行的API
我一直在开发一个针对X Android手机的Android应用程序,它可以根据位置ID查找位置,但出于某种原因,似乎没有运行onSuccessListener。我已经进行了检查,以确定请求何时完成,但当到达时,请求尚未完成。所有导入都在工作,请求和客户端都有值,但请求没有返回任何内容。如果有人能帮忙,我将不胜感激 从API获取位置的方法:Java 放置未在SuccessListener上运行的API,java,android,android-studio,google-places-api,google-places,Java,Android,Android Studio,Google Places Api,Google Places,我一直在开发一个针对X Android手机的Android应用程序,它可以根据位置ID查找位置,但出于某种原因,似乎没有运行onSuccessListener。我已经进行了检查,以确定请求何时完成,但当到达时,请求尚未完成。所有导入都在工作,请求和客户端都有值,但请求没有返回任何内容。如果有人能帮忙,我将不胜感激 从API获取位置的方法: private void initializePlace() { List<Place.Field> placeFields =Array
private void initializePlace() {
List<Place.Field> placeFields =Arrays.asList(Place.Field.LAT_LNG, Place.Field.NAME, Place.Field.PHONE_NUMBER, Place.Field.OPENING_HOURS);
FetchPlaceRequest pRequest = FetchPlaceRequest.newInstance(placeId, placeFields);
PlacesClient placesClient = MainActivity.getPlacesClient();
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(pRequest);
placeTask.addOnSuccessListener(response -> {
setPlace(response.getPlace());
Log.i(TAG, "Place found" + place.getName());
});
placeTask.addOnFailureListener(exception -> {
if (exception instanceof ApiException) {
ApiException apiException = (ApiException) exception;
int statusCode = apiException.getStatusCode();
// Handle error with given status code.
Log.e(TAG, "Place not found: " + exception.getMessage());
}
});
placeTask.addOnCompleteListener(response -> Log.e(TAG, "done"));
if(placeTask.isComplete()) {
openHours = place.getOpeningHours();
address = place.getAddress();
latLng = place.getLatLng();
phoneNumber = place.getPhoneNumber();
}
}
您是否尝试过使用
onSuccessListener()
和onFailureListener()
记录整个响应?日志中是否显示了任何内容?您在哪里初始化了位置
?请发布您的完整代码,以便我们提供帮助。@TaslimOseni onSuccessListner、onFailureListener和onCompleteListner均未运行。侦听器中的任何代码都不会执行。有点像是请求可能超时了或者什么的,因为根本没有响应。@evan客户机的初始化、令牌、请求、客户机和任务在程序运行时的这一点上都有有效值。地点ID也都是硬编码的,所以没有理由不工作,但是,不管这个方法有什么问题,我相信。我将为Places API客户端添加其余的代码,但是处理API的大部分代码都在这里运行。我理解,但是如果没有您的其余代码,我无法从我这边复制这些代码,因此我无法提供帮助,您是否可以发布所有必要的代码,以便我们能够在我们这边运行此功能?您是否尝试使用onSuccessListener()
和onFailureListener()来记录整个响应?日志中是否显示了任何内容?您在哪里初始化了位置
?请发布您的完整代码,以便我们提供帮助。@TaslimOseni onSuccessListner、onFailureListener和onCompleteListner均未运行。侦听器中的任何代码都不会执行。有点像是请求可能超时了或者什么的,因为根本没有响应。@evan客户机的初始化、令牌、请求、客户机和任务在程序运行时的这一点上都有有效值。地点ID也都是硬编码的,所以没有理由不工作,但是,不管这个方法有什么问题,我相信。我将为Places API客户端添加其余的代码,但是处理API的大部分代码都在这里运行。我理解,但是如果没有您的其余代码,我无法从我这边复制这些代码,因此我无法提供帮助,请您发布所有必要的代码,以便我们能够在我们这边运行这些代码?
E/AndroidRuntime: FATAL EXCEPTION: main
Process: co.binarylife.findyourfairleigh, PID: 1296
java.lang.RuntimeException: Unable to start activity ComponentInfo{co.binarylife.findyourfairleigh/co.binarylife.findyourfairleigh.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.google.android.libraries.places.api.model.Place.getName()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.google.android.libraries.places.api.model.Place.getName()' on a null object reference
at co.binarylife.findyourfairleigh.FairleighBusiness.getName(FairleighBusiness.java:108)
at co.binarylife.findyourfairleigh.MainActivity.initializeListView(MainActivity.java:123)
at co.binarylife.findyourfairleigh.MainActivity.onCreate(MainActivity.java:48)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) ```