【问题标题】:Android - What is the difference between data on String and on Sqlite database?Android - String 和 Sqlite 数据库上的数据有什么区别?
【发布时间】:2016-07-02 00:22:23
【问题描述】:

我正在 Android 上开发测验应用程序。我问过某人有关存储数据的问题。所有人都喜欢 Sqlite 数据库。我做到了。 但是为什么我不能用String数据来显示数据,而不是Sqlite数据库呢? 更多细节示例:

  • 存储在列表中:
List<String> questions = new ArrayList<String>();
questions.add("Question A?");
questions.add("Question B?");
questions.add("Question C?");
List<String> answers = new ArrayList<String>();
answers.add("Answer A");
answers.add("Answer B");
answers.add("Answer C");
  • 存储在 Sqlite 中
Question question0 = new Question("Question A?", "Answer A");
Question question1 = new Question("Question B?", "Answer B");
Question question2 = new Question("Question C?", "Answer C");
dbHelper.createQuestion(question0);
dbHelper.createQuestion(question1);
dbHelper.createQuestion(question2);
List<String> listQuestions = new ArrayList<String>();
listQuestions = dbHelper.getAllQuestions();

【问题讨论】:

  • 可以使用字符串。要了解您为什么不想想要,请尝试一下。
  • Sqlite 永久保存数据,List 临时保存..
  • 内存或性能有问题吗?我看到这两种方法也需要先添加String

标签: android string list sqlite


【解决方案1】:

为了您的理解,您应该知道database 包含从String 到图像、音频、视频等的任何内容。因此,当您获取数据时,您需要一个cursor,以便您从@987654325 获取数据@ 并在您的 layout 中使用 casting 相应地。但是,如果您只使用String,那么将无法显示所有数据并执行操作。

【讨论】:

  • 感谢您的回答。就我而言,我只使用文本
  • 更重要的一点是,在您的案例中将数据存储在 List 中并不能解决您的应用程序的目的。因为如果您关闭应用程序,存储在列表或字符串变量中的数据是临时的,那么所有数据都将被删除,但使用数据库您可以永久存储数据。
  • 谢谢。我是新手。我会记住的。但我还有另一个问题。第一次运行应用程序时,在 onCreate() 方法上创建数据库。所以,它又是第二次运行应用程序。如何优化它(只需创建一次)?
  • onCreate() 方法只会在您第一次创建数据库时创建数据库,而不是创建数据库。所以你不必担心优化,因为下次它用于 getWriteableDatabase();这是获取数据库引用所需要的。
  • 另一个:我在这里找到了详细解释:stackoverflow.com/questions/21881992/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
  • 2013-12-28
  • 1970-01-01
  • 2016-03-13
  • 1970-01-01
相关资源
最近更新 更多