Android 卡在我的测验应用程序的全局结构中

Android 卡在我的测验应用程序的全局结构中,android,Android,我最近开始在Android上编程,作为我开始练习的项目之一,我正在尝试构建一个徽标测验应用程序。想法:打开应用程序后,你会看到一个闪屏(玩游戏-关于)。Play game将带您进入一个名为LevelSelector.java的新活动,您可以在其中选择要玩的级别。单击某个级别会将您带到另一个新的Activity level.java。 我创建了一个SQLite数据库,其中包含20个问题,我用一个DBHelper.java类安装了它,每个问题都有一个level列 然而,我迷失在我的全球结构中。因为我

我最近开始在Android上编程,作为我开始练习的项目之一,我正在尝试构建一个徽标测验应用程序。想法:打开应用程序后,你会看到一个闪屏(玩游戏-关于)。Play game将带您进入一个名为LevelSelector.java的新活动,您可以在其中选择要玩的级别。单击某个级别会将您带到另一个新的Activity level.java。 我创建了一个SQLite数据库,其中包含20个问题,我用一个DBHelper.java类安装了它,每个问题都有一个level列

然而,我迷失在我的全球结构中。因为我在不同的级别工作,所以我不想为每个级别创建一个新的类。我想我必须对一个单独的类做一些实例,或者我怎样才能解决这个问题?我想我失去了概述是因为我缺乏android编程,但我认为最好的学习方法是(在看了教程之后)自己构建一个应用程序


希望有人能帮助我,这样我就可以进一步编程了,因为我现在陷入了困境…

你不想为每个级别创建一个类或为每个级别创建一个DBHelper吗?这对你有用吗?通过intent将级别从级别选择器传递到级别活动。与db助手一起使用该级别仅检索该级别的记录。使用单个级别的活动显示任何级别的数据。看起来您不需要任何特殊类,因为在任何级别上,您的应用程序的行为都是相同的。唯一的区别是问题集。我想我必须在我的级别活动中创建一个新的DbHelper?DbHelper所做的工作还包括检查是否已经存在数据库。。如果必须对每一个级别再次执行此操作,可能会有点过火,或者我错了吗?在打开级别活动之前,请关闭LevelSelector.java活动中的DBHelper,然后在级别活动中打开一个新的DBHelper。您也可以将其设置为singleton类,但我建议您先这样做。让您的DbHelper扩展SQLiteOpenHelper,并从您的应用程序而不是您的活动中维护对它的引用。。在应用程序上有一个getDb方法来访问它。。那你就不用关上它了。维护数据库状态是一件痛苦的事,这是绕过去的。。每一层都只是一个对象。。也许它有一个列表作为一个属性,但是从一个级别到下一个级别没有真正的区别。。将分数存储在数据库中可以更容易地执行某些操作,但共享pref对于基本显示来说是不错的。如果有人清除了缓存,无论如何都会丢失。