应用程序在模拟器上运行良好,但在移动设备上无效

时间:2012-08-03 06:30:54

标签: android sqlite android-edittext forceclose

我有一个Android应用程序,可以在按下“SAVE”按钮时将不同的EditText框中的值保存到Sqlite数据库。此应用程序在模拟器上工作正常,并提供所需的输出。但是,在移动设备中按“保存”按钮时,应用显示“强制关闭”错误。

我以前曾在Sqlite数据库上工作,我很确定该部分没有错误。那有什么问题呢。请帮忙。

如果有帮助,以下是LogCat条目: -

08-03 12:08:28.875: I/ActivityManager(59): Starting activity: Intent {cmp=com.SMSDb/.Settings }
08-03 12:08:29.665: I/ActivityManager(59): Displayed activity com.SMSDb/.Settings: 744 ms (total 744 ms)
08-03 12:08:47.126: D/dalvikvm(10469): GC_FOR_MALLOC freed 6935 objects / 332488 bytes in 108ms
08-03 12:08:47.155: I/ActivityManager(59): Starting activity: Intent { cmp=com.SMSDb/.SMSDbActivity }
08-03 12:08:47.765: I/ActivityManager(59): Displayed activity com.SMSDb/.SMSDbActivity: 498 ms (total 498 ms)
08-03 12:08:57.765: I/ActivityManager(59): Starting activity: Intent { cmp=com.SMSDb/.Settings }
08-03 12:08:58.526: I/ActivityManager(59): Displayed activity com.SMSDb/.Settings: 665 ms (total 665 ms)
08-03 12:09:00.438: W/KeyCharacterMap(10469): No keyboard for id 0
08-03 12:09:00.438: W/KeyCharacterMap(10469): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
08-03 12:09:04.646: I/ActivityManager(59): Starting activity: Intent { cmp=com.SMSDb/.SMSDbActivity }
08-03 12:09:05.316: I/ActivityManager(59): Displayed activity com.SMSDb/.SMSDbActivity: 535 ms (total 535 ms)

3 个答案:

答案 0 :(得分:3)

请遵循:

如上所述Nirav - :

您可以检查构建目标版本(右键单击Project - Property - Android)并与您的devcie进行验证。如果不匹配,请将目标版本更改为您的devcie平台版本。

永远不要执行上述步骤,因为这样做会极大地影响Android的整个eclipse环境,因此您将在 XML文件中遇到错误,您将无法轻松修复..

整个项目将开始使用任何相应的布局显示所有java文件的错误 - 特别是在setcontentview(R.layout.YourXMLFileName)

你会被要求导入'R'(android),这不会解决你的问题......

既然你已经改变了开发应用程序的android平台的版本,那么你应该做的就是将它改回原来的版本,只有在完成安装之后才会要求你安装某些软件包。能够恢复原始设置或解决错误......

马尼克

答案 1 :(得分:1)

您可以检查构建目标版本(右键单击Project - Property - Android)并与您的devcie进行验证。如果不匹配,请将目标版本更改为您的devcie平台版本。

此外,您可以验证以下内容

-Unknown Source to true

-Debuggable需要USB调试

- 非大容量存储模式/ USB连接以访问SD卡

-unplug replug

- 重启手机(确保你可以拔掉USB电源并取出电池)

-restart adb

我从here

提到了这些

我希望这会对你有所帮助。

答案 2 :(得分:1)

可能问题是您没有在模拟器上运行应用程序的全新副本。因此,不会检查用于为您的应用程序的新安装创建新SQLite数据库的代码,但这总是发生在您的移动设备中,因为它将重新安装App。因此,尝试调试应用程序的SQLite数据库的“创建”部分。它可以解决问题!!