2013-10-12 98 views
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) 
+0

java.lang.NumberFormatException:无效的双倍:“350,32” – TEK

+0

你看过异常本身,并试图纠正这种情况吗?或者只是扔一个巨大的logcat而不尝试自己?如果您尝试过,*您尝试了什么? – hexafraction

+0

我试图从logcat中发现异常,但我不知道logcat中是否存在该实例的部分:java.lang.NumberFormatException:无效的双倍:“350,32”在我的代码中我没有任何“350,32” – JUAN

回答

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。如果你无法找到出错的地方,你就没有希望在代码中产生任何东西。

+0

我试过从logcat中查找异常,但是我不会将logcat作为例子的一部分:java.lang.NumberFormatException:无效的双精度值:“350,32”在我的代码中我没有任何“350,32,所以这个响应根本无法帮助 – JUAN

+0

在我告诉你的课上,我告诉过你,因为我告诉你,你的代码试图使用这个数字来抛出一个错误,你不必在你的代码中有这个数字。非常简单的错误,并且是你的问题的答案,没有更简单的方法来解释它,我们不可能猜测你的代码有什么问题,因为你只发布了一个logcat,也许你需要发布一个新问题,问为什么你的代码扔e但是这个问题没有任何答案。 – Kuffs

+0

Logcat已经告诉过你究竟是什么问题。我已经告诉过你发生问题的最可能原因。我编辑了我的答案,给你更多关于阅读logcat的信息。现在取决于你。应用您提供的信息或提出新问题并发布引发错误的代码。 – Kuffs

0

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

  1. 转到您的手机并转到设置。
  2. 而不是一般设置转到ALL。
  3. 设备连接到计算机时触摸开发人员选项。
  4. 然后启用USB调试。
  5. 然后运行该应用程序。然后你会看到你的设备。
相关问题