-2

一周前我开始玩安卓。那也是我开始学习Java的时候。经过大约 100 个教程和无尽的试错之夜,我尝试构建我的第一个应用程序:

我正在尝试构建一个调用 REST 服务、获取 JSON 答案、解析该答案并将其显示在常规应用程序中的应用程序。这么久,这么好 - 该应用程序运行良好,并显示下一班公共汽车在我公寓前开出的时间。然后我对这些可能性感到不知所措......我构建了我的第一个应用程序小部件,设置了一个每分钟触发一次以更新该小部件的服务。(我知道 - 太频繁了。但为了尝试,我将它留有 60 秒的更新间隔)。

问题

1)应用程序在我启动它时大约每 4 到 5 次意外崩溃。我使用我的手机(HTC One)通过 ADB 进行调试。调试器适用于我自己创建的所有文件,但显示“错误打开跟踪文件:没有这样的文件或目录 (2)”-错误。这意味着我无法获得有关该问题的更多信息。2) 小部件不会更新文本字段。我在那里放了一个“tba”占位符。

到目前为止我做了什么

1)试图通过在此处和其他几个论坛上搜索解决方案来使调试器工作。所描述的错误似乎是一个常见问题,但解决方案(重新安装 Eclipse、ADT、重新下载所有 android-ressources)对我不起作用。我在可能导致这些崩溃的不同文件(布局、Java 代码、清单等)中搜索了原因。在我的系统上,不再有编译错误或警告。2) 尝试了不同的方法,但总是以 RemoteView 解决方案来更新文本字段。使用了几个具有类似小部件的示例项目,调整了这些并尝试将这些想法应用到我的项目中。

我在哪里需要你的帮助

1)提示如何摆脱调试问题,帮助我找到可能导致这些崩溃的任何新手/初学者错误,提示我可能遵循错误的教程并完全错误的区域 2)知道为什么我可以' t 获取要更新的小部件

资源

我将完整的项目导出到 ZIP 文件中:http: //www.mikezweifel.ch/ZVV.zip

LogCat(错误部分):

07-20 10:07:26.642: E/Trace(11586): error opening trace file: No such file or directory (2)
07-20 10:07:26.682: E/AndroidRuntime(11586): FATAL EXCEPTION: main
07-20 10:07:26.682: E/AndroidRuntime(11586): java.lang.RuntimeException: Unable to instantiate receiver ch.mikezweifel.android.zvvstationsabfrage.WidgetProvider: java.lang.ClassNotFoundException: ch.mikezweifel.android.zvvstationsabfrage.WidgetProvider
07-20 10:07:26.682: E/AndroidRuntime(11586):    at android.app.ActivityThread.handleReceiver(ActivityThread.java:2518)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at android.app.ActivityThread.access$1500(ActivityThread.java:151)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1417)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at android.os.Looper.loop(Looper.java:155)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at android.app.ActivityThread.main(ActivityThread.java:5536)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at java.lang.reflect.Method.invokeNative(Native Method)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at java.lang.reflect.Method.invoke(Method.java:511)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1074)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:841)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at dalvik.system.NativeStart.main(Native Method)
07-20 10:07:26.682: E/AndroidRuntime(11586): Caused by: java.lang.ClassNotFoundException: ch.mikezweifel.android.zvvstationsabfrage.WidgetProvider
07-20 10:07:26.682: E/AndroidRuntime(11586):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
07-20 10:07:26.682: E/AndroidRuntime(11586):    at android.app.ActivityThread.handleReceiver(ActivityThread.java:2513)
07-20 10:07:26.682: E/AndroidRuntime(11586):    ... 10 more

任何帮助或想法将不胜感激!

罗亚萨斯

4

1 回答 1

0

持续强制退出的原因是我的 Widget Provider 类 (WidgetProvider.java) 嵌套在主“Startseite”活动中。将类放在其单独的文件中(但仍然在同一个包中)后,一切都很顺利。

至于“找不到源”问题:谷歌在这里有解决方案(http://source.android.com/source/building.html)——我现在构建源代码的工作量太大了.但是得到源代码后,可以在Eclipse中引用它。

于 2013-07-22T07:53:38.340 回答