java - 在真实设备中运行应用程序时遇到问题

标签 java android eclipse device

上个月,我尝试为 mi android cel 完成一个应用程序,当我最终完成时,我使用虚拟设备运行,它的工作方式就像我的魅力,但是当我尝试使用真实设备运行时,应用程序启动但随后显示黑屏,这是您尝试使用真实设备的第一个应用程序,并且不知道为什么它在虚拟设备中工作而不是在真实设备中工作的原因,谁能告诉我在哪里可以找到原因,因为 logcat 在eclipse 没有明确说明为什么它不起作用。

这是不起作用时的 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)

最佳答案

我怀疑您不允许不同区域设置的数字格式。

例如,在英国,数字将写为 350.32,但在西类牙则为 350,32

当区域设置不支持时尝试使用特定的数字格式会引发您遇到的异常。

您的设备可能使用的区域设置不支持您所使用的号码,但您的模拟器不支持。

该错误是在 MainActivity 中的匿名内部类 (hoja1_Tb1) 中引发的。第484行

编辑:

Logcat Analysis:

Looking back through the logcat for code that is in your classes and not in a built in class.

com.example.mezcla2.MainActivity$9.onItemSelected(MainActivity.java:444)

then

com.example.mezcla2.MainActivity$9.hoja1_Tb1(MainActivity.java:484)

Then the code attempts to convert "something" to a Double.

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

然后你会得到实际的错误。此位置的某些内容正在尝试使用对于您正在使用的区域设置而言无效的数字。

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

关于java - 在真实设备中运行应用程序时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19337823/

相关文章:

eclipse - 防止来自@Immutable 注释的空构造函数

java - 我的 Java 代码随机崩溃,需要帮助

java - Android 证书签名和应用程序名称

java - Apache CLI 命令行 : Remove an option that was parsed

java - 读取cmd传入的文件

android - Android Lollipop 的位图解码问题

android - 查询包含在其他对象上的 Realm 数据

java - Android 存储和检索数据列表的最佳方法

android - 应用程序图标从操作栏中消失

eclipse - 在 Eclipse 中更改默认的 XML 编辑器