Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 奇怪的问题-android应用程序在某些设备上崩溃。为什么?_Java_Android - Fatal编程技术网

Java 奇怪的问题-android应用程序在某些设备上崩溃。为什么?

Java 奇怪的问题-android应用程序在某些设备上崩溃。为什么?,java,android,Java,Android,我有一个android的琐事应用程序。有些玩家在点击“新游戏”时出错。 对我来说效果很好,对大多数球员来说也很好 问题大多出现在galaxy设备上,但也有相同版本的设备,它们的一切都正常工作 这里是错误 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sportrivia.hapoelbeershevatrivia/com.dimikit.trivia.SingleplayerActivity}: an

我有一个android的琐事应用程序。有些玩家在点击“新游戏”时出错。 对我来说效果很好,对大多数球员来说也很好

问题大多出现在galaxy设备上,但也有相同版本的设备,它们的一切都正常工作

这里是错误

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sportrivia.hapoelbeershevatrivia/com.dimikit.trivia.SingleplayerActivity}: android.database.sqlite.SQLiteException: no such column: BannerAdImageURL (code 1): , while compiling: SELECT _id, RemoteServer, ChatServer, CommonBackground, SyncFrequencyDays, NumberOfLevels, BackgroundMusic, BannerAdImageURL, BannerAdLinkURL FROM settings
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2092)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
at android.app.ActivityThread.access$700(ActivityThread.java:134)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4867)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.database.sqlite.SQLiteException: no such column: BannerAdImageURL (code 1): , while compiling: SELECT _id, RemoteServer, ChatServer, CommonBackground, SyncFrequencyDays, NumberOfLevels, BackgroundMusic, BannerAdImageURL, BannerAdLinkURL FROM settings
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1013)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:624)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1161)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1032)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1200)
at com.dimikit.trivia.utilities.settings.SettingsDataSource.getAllSettings(SettingsDataSource.java:99)
at com.dimikit.trivia.SingleplayerActivity.initializeAllData(SingleplayerActivity.java:322)
at com.dimikit.trivia.SingleplayerActivity.onCreate(SingleplayerActivity.java:218)
at android.app.Activity.performCreate(Activity.java:5047)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056)
... 11 more
java.lang.RuntimeException:无法启动活动组件信息{com.sportrivia.hapoelbeershevatrivia/com.dimikit.trivia.SingleplayerActivity}:android.database.sqlite.SQLiteException:没有这样的列:BannerImageUrl(代码1):,编译时:选择_id,RemoteServer,ChatServer,CommonBackground,SyncFrequencyDays,NumberOfLevel,背景音乐、BannerAdImageURL、BanneRadiLinkURL来自设置
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2092)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
在android.app.ActivityThread.access$700(ActivityThread.java:134)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:137)
位于android.app.ActivityThread.main(ActivityThread.java:4867)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:511)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
在dalvik.system.NativeStart.main(本机方法)
原因:android.database.sqlite.SQLiteException:无此列:BannerImageUrl(代码1):,编译时:从设置中选择_id、RemoteServer、ChatServer、CommonBackground、SyncFrequencyDays、NumberOfLevel、BackgroundMusic、BannerImageUrl、BannerLinkUrl
位于android.database.sqlite.SQLiteConnection.nativePrepareStatement(本机方法)
位于android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1013)
位于android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:624)
位于android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
位于android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
位于android.database.sqlite.SQLiteQuery(SQLiteQuery.java:37)
位于android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
位于android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314)
位于android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1161)
位于android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1032)
位于android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1200)
位于com.dimikit.trivia.utilities.settings.SettingsDataSource.getAllSettings(SettingsDataSource.java:99)
在com.dimikit.trivia.SingleplayerActivity.initializeAllData(SingleplayerActivity.java:322)上
位于com.dimikit.trivia.SingleplayerActivity.onCreate(SingleplayerActivity.java:218)
位于android.app.Activity.performCreate(Activity.java:5047)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056)上
... 还有11个
你知道有什么问题吗?
谢谢

当应用程序启动时,检查“设置”表上是否应该有一些设置。似乎在用户到达新游戏屏幕之前必须进行的某些配置过程没有触发。

根据您的异常日志,您正在尝试从自定义表
设置中读取一些设置,该表不包含
BannerAdImageURL
列。

为了帮助您,我们需要查看数据库中的代码。但无论如何,我在一些设备上发现了类似的问题。问题是,一些设备不能像大多数示例中所示那样自动构建路径和保存数据库。我已经解决了这个问题:如果您将数据库保存在sd path上,请在创建数据库之前先创建完整的文件夹。您是否使用SQLiteOpenHelper?这是在数据库结构更新后发生的吗?那些失败的用户是否使用了数据库版本较小的应用程序?