Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带有google play location services的应用程序在发布时崩溃_Java_Android - Fatal编程技术网

Java 带有google play location services的应用程序在发布时崩溃

Java 带有google play location services的应用程序在发布时崩溃,java,android,Java,Android,在解决了昨天的问题之后,我的代码中再也没有语法错误了。然而,当我在手机上启动应用程序时,它立即崩溃。我不确定错误来自何处,我认为如果我发布所有内容,代码太多,因此我将首先发布日志,如果有人能够缩小错误范围,我将发布代码的相应部分 06-03 19:18:34.288: D/AndroidRuntime(22511): Shutting down VM 06-03 19:18:34.288: W/dalvikvm(22511): threadid=1: thread exiting with u

在解决了昨天的问题之后,我的代码中再也没有语法错误了。然而,当我在手机上启动应用程序时,它立即崩溃。我不确定错误来自何处,我认为如果我发布所有内容,代码太多,因此我将首先发布日志,如果有人能够缩小错误范围,我将发布代码的相应部分

06-03 19:18:34.288: D/AndroidRuntime(22511): Shutting down VM

06-03 19:18:34.288: W/dalvikvm(22511): threadid=1: thread exiting with uncaught exception (group=0x41532ba8)

06-03 19:18:34.288: E/AndroidRuntime(22511): FATAL EXCEPTION: main

06-03 19:18:34.288: E/AndroidRuntime(22511): Process: com.axelfiedler.stayup, PID: 22511

06-03 19:18:34.288: E/AndroidRuntime(22511): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.axelfiedler.stayup/com.axelfiedler.stayup.MainActivity}: java.lang.IllegalStateException: Not connected. Call connect() and wait for onConnected() to be called.

06-03 19:18:34.288: E/AndroidRuntime(22511):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at android.app.ActivityThread.access$800(ActivityThread.java:135)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at android.os.Handler.dispatchMessage(Handler.java:102)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at android.os.Looper.loop(Looper.java:136)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at android.app.ActivityThread.main(ActivityThread.java:5017)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at java.lang.reflect.Method.invokeNative(Native Method)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at java.lang.reflect.Method.invoke(Method.java:515)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at dalvik.system.NativeStart.main(Native Method)

06-03 19:18:34.288: E/AndroidRuntime(22511): Caused by: java.lang.IllegalStateException: Not connected. Call connect() and wait for onConnected() to be called.

06-03 19:18:34.288: E/AndroidRuntime(22511):    at com.google.android.gms.internal.ff.bT(Unknown Source)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at com.google.android.gms.internal.hc.a(Unknown Source)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at com.google.android.gms.internal.hc$c.bT(Unknown Source)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at com.google.android.gms.internal.hb.getLastLocation(Unknown Source)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at com.google.android.gms.internal.hc.getLastLocation(Unknown Source)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at com.google.android.gms.location.LocationClient.getLastLocation(Unknown Source)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at com.axelfiedler.stayup.MainActivity.onCreate(MainActivity.java:223)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at android.app.Activity.performCreate(Activity.java:5231)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)

06-03 19:18:34.288: E/AndroidRuntime(22511):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)

06-03 19:18:34.288: E/AndroidRuntime(22511):    ... 11 more

06-03 19:19:56.736: D/AndroidRuntime(23049): Shutting down VM

06-03 19:19:56.736: W/dalvikvm(23049): threadid=1: thread exiting with uncaught exception (group=0x41532ba8)

06-03 19:19:56.736: E/AndroidRuntime(23049): FATAL EXCEPTION: main

06-03 19:19:56.736: E/AndroidRuntime(23049): Process: com.axelfiedler.stayup, PID: 23049

06-03 19:19:56.736: E/AndroidRuntime(23049): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.axelfiedler.stayup/com.axelfiedler.stayup.MainActivity}: java.lang.IllegalStateException: Not connected. Call connect() and wait for onConnected() to be called.

06-03 19:19:56.736: E/AndroidRuntime(23049):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at android.app.ActivityThread.access$800(ActivityThread.java:135)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at android.os.Handler.dispatchMessage(Handler.java:102)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at android.os.Looper.loop(Looper.java:136)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at android.app.ActivityThread.main(ActivityThread.java:5017)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at java.lang.reflect.Method.invokeNative(Native Method)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at java.lang.reflect.Method.invoke(Method.java:515)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at dalvik.system.NativeStart.main(Native Method)

06-03 19:19:56.736: E/AndroidRuntime(23049): Caused by: java.lang.IllegalStateException: Not connected. Call connect() and wait for onConnected() to be called.

06-03 19:19:56.736: E/AndroidRuntime(23049):    at com.google.android.gms.internal.ff.bT(Unknown Source)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at com.google.android.gms.internal.hc.a(Unknown Source)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at com.google.android.gms.internal.hc$c.bT(Unknown Source)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at com.google.android.gms.internal.hb.getLastLocation(Unknown Source)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at com.google.android.gms.internal.hc.getLastLocation(Unknown Source)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at com.google.android.gms.location.LocationClient.getLastLocation(Unknown Source)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at com.axelfiedler.stayup.MainActivity.onCreate(MainActivity.java:223)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at android.app.Activity.performCreate(Activity.java:5231)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)

06-03 19:19:56.736: E/AndroidRuntime(23049):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)

06-03 19:19:56.736: E/AndroidRuntime(23049):    ... 11 more
编辑:这就是我在onCreate()中调用connect()函数的方式


请看这一行:
callconnect()并等待onConnected()被调用。

我认为您是在位置客户端真正连接之前请求更新。
调用
locationClient.connect()
时,您必须在
onConnected()上等待应答。
这是您必须重写的方法

编辑:
我在你更新的问题中看到了问题。 你必须打电话
mCurrentLocation=mLocationClient.getLastLocation()
内部
onConnected()

在活动或片段中,添加
实现ConnectionCallbacks

并重写方法
onConnected()
onDisconnected()


祝你好运。

错误清楚地表明你没有连接到location client,你必须连接到itOk。我想我不知道该怎么做的部分是“并等待on connected被调用”。我在上面添加了一些代码,也许你可以帮我。我添加了onConnected()函数,但我如何正确地等待答案?我在考虑一些if语句,但这不起作用,似乎不是解决问题的方法。我更新了我的答案,查看它。简单地说,
mCurrentLocation=mLocationClient.getLastLocation()内部
onConnected()
。您不必做更多的工作,因此在建立连接时会自动调用此方法。
    mLocationClient = new LocationClient(this, this, this);
    mLocationClient.connect();
    mCurrentLocation = mLocationClient.getLastLocation();