在Android中存储数据方面,使用大型ArrayList或设置SQLite数据库会更高效吗?我有大约9000个公交站点,并且需要停止使用我需要存储的名称(都是字符串),我想知道哪种方法最快或最有效。ArrayList或SQLite
回答
ArrayList可能是一个非常糟糕的主意。我假设你想要数据是持久的,所以如果你的用户杀死你的应用程序,你的数据将会丢失,如果你使用ArrayList。数据库是持久的(除非用户清除应用程序的缓存)。所以我强烈建议使用ArrayList上的数据库。
如果您的数据没有改变,那么您可能可以在启动时读取它,并在App运行时保存在内存中。例如,让一个包含所有站点的.json文件,在启动时读取它,将数据放入HashMap或易于使用的东西,因为您可能会查找内容。它可能适用于〜9000条目。
如果您要在使用过程中添加或更新停止信息,那么SQLite是更好的选择。
感谢您的回复。如果信息保持不变(即不改变停止和停止名称)会怎么样?这些信息将被简单阅读。 – user1927638
然后创建一个包含所有信息的数据文件并将其与您的应用程序一起打包,从而在启动时将其读取到内存中即可。 –
1.)从SQLite数据库中存储和检索你的数据,因为你需要持久性。既然你说你有9k +行,一个简单的选择会一次给你所有的东西,你也可以很容易地过滤数据,如果你需要
2.)在启动时,把所有的数据放入高效的内存结构,如HashMaps (或在你的情况下,ArrayList),并在整个应用程序中引用它们。这样你只能做一次访问。
3.)如果有疑问,建立一个数据库。没有伤害,比文件更有效,更容易处理
- 1. 在SQLite中存储arraylist的arraylist
- 2. 使用ArrayList和ArrayAdapter的SQLite
- 3. SQLite Arraylist崩溃android活动
- 4. 每次ArrayList一次或ArrayList?
- 5. 如何在Android中插入ArrayList或向量到SQLite数据库?
- 6. ArrayList或Multiple LinkedHashMap
- 7. List(String)或Array或ArrayList
- 8. Drawable或ArrayList的位图的ArrayList?
- 9. 压缩Arraylist或传递ArrayList与对象
- 10. 性能:ArrayList或ConcurrentHashMap
- 11. ArrayList中的Hashset或
- 12. 的ArrayList或LinkedList的
- 13. 从SQLite获取数据到ListView的ArrayList
- 14. 与SQLite数据库制作的ArrayList
- 15. 如何比较ArrayList与SQLite表行?
- 16. SQLite的ArrayList的<Bitmap>的Android
- 17. 从sqlite到ArrayList的数据<String>
- 18. 在SQLite数据库中插入ArrayList
- 19. 将SQLite数据库转换为Java Arraylist
- 20. Android - Sqlite或Xml?
- 21. Phonegap:WebSql或SqLite?
- 22. SharedPreferences或SQlite
- 23. NSuserDefault或Sqlite
- 24. SQLite或ORMlite?
- 25. Sqlite或Mysql
- 26. SQLite的或CoreData
- 27. SQLite或coredata或其他
- 28. 将ArrayList <Object>作为JSON SharedPreference或SQLite数据库表存储?
- 29. Java矢量或基元ArrayList
- 30. 类中的StringCollection或ArrayList
感谢您的回应。对于数据库,我该如何填充数据库一次? – user1927638
这里是一个很好的教程:http://www.vogella.com/articles/AndroidSQLite/article.html,你基本上必须创建一次数据库,插入数据,然后你可以在每次需要数据时查询它。 – Ahmad