2016-03-16 65 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

相關問題