上个月我已经尝试完成一个应用程序为mi android cel,当我终于完成我运行使用虚拟设备,它的工作就像我的魅力,当我尝试使用真实设备运行应用程序启动时但然后显示黑屏这是第一个尝试使用真实设备的应用程序,并且不知道为什么在虚拟设备中它工作而不是在真实设备中的任何人都可以告诉我在哪里可以找到自logcat以来的原因日食没有说明它为什么不起作用。
这是logcat,当它不起作用时:
10-12 13:39:07.578: D/dalvikvm(9995): Late-enabling CheckJNI
10-12 13:39:07.593: I/dalvikvm(9995): Turning on JNI app bug workarounds for target SDK version 9...
10-12 13:39:08.188: D/dalvikvm(9995): GC_CONCURRENT freed 138K, 3% free 9507K/9735K, paused 2ms+2ms
10-12 13:39:08.488: D/AndroidRuntime(9995): Shutting down VM
10-12 13:39:08.488: W/dalvikvm(9995): threadid=1: thread exiting with uncaught exception (group=0x40c671f8)
10-12 13:39:08.498: E/AndroidRuntime(9995): FATAL EXCEPTION: main
10-12 13:39:08.498: E/AndroidRuntime(9995): java.lang.NumberFormatException: Invalid double: "350,32"
10-12 13:39:08.498: E/AndroidRuntime(9995): at java.lang.StringToReal.invalidReal(StringToReal.java:63)
10-12 13:39:08.498: E/AndroidRuntime(9995): at java.lang.StringToReal.parseDouble(StringToReal.java:269)
10-12 13:39:08.498: E/AndroidRuntime(9995): at java.lang.Double.parseDouble(Double.java:295)
10-12 13:39:08.498: E/AndroidRuntime(9995): at java.lang.Double.valueOf(Double.java:332)
10-12 13:39:08.498: E/AndroidRuntime(9995): at com.example.mezcla2.MainActivity$9.hoja1_Tb1(MainActivity.java:484)
10-12 13:39:08.498: E/AndroidRuntime(9995): at com.example.mezcla2.MainActivity$9.onItemSelected(MainActivity.java:444)
10-12 13:39:08.498: E/AndroidRuntime(9995): at android.widget.AdapterView.fireOnSelected(AdapterView.java:882)
10-12 13:39:08.498: E/AndroidRuntime(9995): at android.widget.AdapterView.access$200(AdapterView.java:48)
10-12 13:39:08.498: E/AndroidRuntime(9995): at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:848)
10-12 13:39:08.498: E/AndroidRuntime(9995): at android.os.Handler.handleCallback(Handler.java:605)
10-12 13:39:08.498: E/AndroidRuntime(9995): at android.os.Handler.dispatchMessage(Handler.java:92)
10-12 13:39:08.498: E/AndroidRuntime(9995): at android.os.Looper.loop(Looper.java:137)
10-12 13:39:08.498: E/AndroidRuntime(9995): at android.app.ActivityThread.main(ActivityThread.java:4518)
10-12 13:39:08.498: E/AndroidRuntime(9995): at java.lang.reflect.Method.invokeNative(Native Method)
10-12 13:39:08.498: E/AndroidRuntime(9995): at java.lang.reflect.Method.invoke(Method.java:511)
10-12 13:39:08.498: E/AndroidRuntime(9995): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
10-12 13:39:08.498: E/AndroidRuntime(9995): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
10-12 13:39:08.498: E/AndroidRuntime(9995): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:2)
我怀疑您不允许使用不同语言环境的数字格式。
例如,在英国,一个数字将写为350.32,但在西班牙则为350,32
当语言环境不支持时,尝试使用特定的数字格式会抛出您遇到的异常。
您的设备可能正在使用您所使用的号码不支持但您的模拟器不支持的语言环境。
在MainActivity中的匿名内部类(hoja1_Tb1)中抛出错误。第484行
修改强> 的
Logcat分析:
回顾一下logcat中的类和代码 不是在内置的课程中。
<强> com.example.mezcla2.MainActivity $ 9.onItemSelected(MainActivity.java:444)强>
然后
<强> com.example.mezcla2.MainActivity $ 9.hoja1_Tb1(MainActivity.java:484)强>
然后代码尝试将“something”转换为Double。
这告诉我们你有一个调用“onItemSelected”的内部类,然后在第484行调用“hoja1_Tb1”
然后你得到实际的错误。此位置的某些内容正在尝试使用的数字不是您正在使用的区域设置的有效数字。
您可以做的最好的事情是学习如何阅读和解释logcat。如果你找不到错误的地方,你就没有希望在代码中产生任何东西。
答案 1 :(得分:0)
首先,您必须确保为区域设备中正在运行的Android应用启用了物理设备(手机)。 以下步骤: -