Java 我应该使用共享首选项还是坚持使用SQLite?

Java 我应该使用共享首选项还是坚持使用SQLite?,java,android,Java,Android,我开发了一个android应用程序,它可以显示一个字母供用户绘制,用户绘制这个字母,并找出它们是正确的还是不正确的,然后应用程序循环遍历字母表。我使用SQLite处理用户登录和注册。然而,我想要一个按钮“检索数据”,当点击它时,将显示所有的用户和他们的统计数据。我所说的统计是指每个字母有两个整数值,例如正确的和不正确的等等 这意味着在数据库中创建52列,我想我必须以列表或其他形式检索数据库数据。然而,我在网上看到过使用共享首选项存储用户数据的片段,但我对使用共享首选项完全不熟悉。我只是想知道是否

我开发了一个android应用程序,它可以显示一个字母供用户绘制,用户绘制这个字母,并找出它们是正确的还是不正确的,然后应用程序循环遍历字母表。我使用SQLite处理用户登录和注册。然而,我想要一个按钮“检索数据”,当点击它时,将显示所有的用户和他们的统计数据。我所说的统计是指每个字母有两个整数值,例如正确的和不正确的等等

这意味着在数据库中创建52列,我想我必须以列表或其他形式检索数据库数据。然而,我在网上看到过使用共享首选项存储用户数据的片段,但我对使用共享首选项完全不熟悉。我只是想知道是否有人可以推荐更好的方法:SQLite或共享首选项,如果有人有一个关于以这种方式使用共享首选项的清晰教程,那就太好了

更新:这是我创建数据库的代码。当我在sqlite管理器ID中检查它时,用户名和密码是唯一创建的列。我是否需要在信上草签,是否正确和不正确以添加它们,或者我做错了什么?提前谢谢

static final String DATABASE_NAME = "login.db";
        static final int DATABASE_VERSION = 1;
        public static final int NAME_COLUMN = 1;

        public static final String isCorrect = "Correct";
        public static final String inCorrect = "Inorrect";
        // SQL Statement to create a new database.
        static final String DATABASE_CREATE = "create table "+"LOGIN"+
                                     "( " +"ID"+" integer primary key autoincrement,"+ "USERNAME  text,PASSWORD text, LETTER text" + isCorrect + inCorrect + "); ";

@Jay使用sqlite数据库比共享首选项更好,正如Lie Ryan所解释的,数据库中只需要4列。您可以参考数据库中的以下教程

52列
不可以。如果您不熟悉SQL,我建议您学习一些基本的SQL教程。公平地说,我仍然需要为每个字母设置一列,然后两行显示字母的正确图形和错误图形的整数值。不,您不需要。您可以将其存储在四列中:[id,key,is_correct,value]谢谢,我一直在学习该教程,但遇到了一个障碍。我创建的表只包含ID、用户名、密码、字母、isCorrect和error列。但是当我拉数据库并在firefox上使用sqlite管理器检查是否一切正常时,我只有ID、用户名和密码。我将编辑我的问题帖子以显示我的代码。您必须为列指定数据类型,并使用逗号静态最终字符串数据库_CREATE=“CREATE table”+“LOGIN”+(“+”ID“+”整数主键自动递增“+”用户名文本、密码文本、字母文本“+isCorrect+”文本,”+不正确+“文本);”;