我想编写一个基本上在列表视图中显示歌曲标题的 Android 应用程序,通过在列表中选择一首歌曲,该歌曲的歌词显示在文本视图中。在第二步中,可能会翻译每首歌的歌词。
到目前为止没有什么太复杂,但由于我对 android 编程完全陌生,我想知道存储数据的最佳方法是什么(即歌曲标题/歌词)。我为每首歌曲考虑了一个(xml?)文件,其中文件名是标题,文件包含歌词。我认为这将使添加新歌曲变得容易。这些文件通常存储在哪里?/res/xml?
还是另一种方法更合适?数据库存储?内容提供商?
我会使用数据库和内容提供程序,因为使用 Loader API 将内容绑定到 ListView 变得非常简单。
根据有关Data Storage的文档,您有多种选择。
但似乎满足您需求的存储策略是SQLite Database。
你可以使用SQLiteOpenHelper和ContentProvider来让它工作。
实施它需要大量的工作和理解,但值得付出努力:
如果我是你,我会避免:
SharedPreferences因为这不适合数据列表,因为没有任何“id 机制”。另一方面,它很容易用于小型设置。
内部存储,因为数据一旦存储就很难操作。此外,不推荐存储该类型数据的方式。