2016-03-16 55 views
-1

我正在开发Android上的测验应用程序。我问过有人存储数据。所有人都喜欢Sqlite数据库。我做到了。 但为什么我不能使用字符串数据来显示数据,而不是Sqlite数据库? 实施例用于更详细地:Android - 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(); 
+0

你*可以*使用字符串。要了解为什么你不想*,只需尝试一下。 –

+0

'Sqlite'永久保存数据,'List'暂时保存.. –

+0

内存或性能有问题吗?我看到这两种方法都需要先加String, – kidsoul

回答

1

你谅解,你应该知道,我的database包含来自String图像什么,音频,视频等。所以,当你获取数据,你需要一个cursor所以你从database获取数据,并通过在layout使用casting据此。但是,如果只使用String,那么将无法显示所有数据并执行操作。

+0

谢谢你的回答。在我的情况下,我只是使用文本 – kidsoul

+1

更重要的是,将数据存储在您的案例中的列表中并不能解决您的应用程序的目的。因为如果关闭应用程序,存储在列表或字符串变量中的数据是临时的,则所有数据都将被删除,但使用数据库可以永久存储数据。 –

+0

谢谢。我是新手。我会记住的。但我有另一个问题。第一次运行应用程序时,数据库是在onCreate()方法上创建的。所以,这又是第二次运行应用程序。我如何优化它(只创建一次)? – kidsoul

相关问题