0

上个月我尝试完成一个适用于 mi android cel 的应用程序,当我终于完成时,我使用虚拟设备运行它就像我的魅力一样工作,但是当我尝试使用真实设备运行时,应用程序启动但随后显示黑屏这是您尝试使用真实设备的第一个应用程序,但不知道为什么在虚拟设备中它可以工作而不是在真实设备中的原因任何人都可以告诉我在哪里可以找到原因,因为 eclipse 中的 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)
4

2 回答 2

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)

然后代码尝试将“某物”转换为 Double。

这告诉我们您有一个内部类调用“onItemSelected”,然后在第 484 行调用“hoja1_Tb1”

然后你得到实际的错误。此位置的某些东西正在尝试使用对您正在使用的区域设置无效的数字。

你能做的最好的事情就是学习如何阅读和解释 logcat。如果你找不到出错的地方,你就没有希望在代码中产生任何东西。

于 2013-10-12T18:53:07.263 回答
0

首先,您必须确保您的物理设备(手机)已启用区域设备中正在运行的 android 应用程序。脚步:-

  1. 转到您的手机并转到设置。
  2. 而不是一般设置转到全部。
  3. 当您的设备连接到计算机时,触摸开发人员选项。
  4. 然后启用 USB 调试。
  5. 然后运行应用程序。然后你会看到你的设备。
于 2017-08-10T06:52:40.140 回答