在android应用程序中存储数据的最佳方法?

在android应用程序中存储数据的最佳方法?,android,database,cloud-storage,Android,Database,Cloud Storage,我是Android编程新手,正在尝试创建一个显示预定义引号、诗歌等的应用程序。我想知道在应用程序中存储这些字符串的最佳方式是什么?SQLite数据库,XML文件,文本文件?有没有关于云存储的建议,以及如何在android应用程序中实现这一点 提前谢谢 我认为这很大程度上取决于数据量 对于1-100个字符串,请在应用程序资源中使用xml。 更详细地说,更好(也是最快)的方法是sqlite 使用Sqlite感觉绝对荒谬,即使它有一千个字符串。一次读取一行纯文本文件并将字符串存储在列表或数组中完全不需

我是Android编程新手,正在尝试创建一个显示预定义引号、诗歌等的应用程序。我想知道在应用程序中存储这些字符串的最佳方式是什么?SQLite数据库,XML文件,文本文件?有没有关于云存储的建议,以及如何在android应用程序中实现这一点


提前谢谢

我认为这很大程度上取决于数据量

对于1-100个字符串,请在应用程序资源中使用xml。
更详细地说,更好(也是最快)的方法是sqlite

使用Sqlite感觉绝对荒谬,即使它有一千个字符串。一次读取一行纯文本文件并将字符串存储在列表或数组中完全不需要时间。将纯文本文件放入/assets并按如下方式加载:

public List<String> readLines(String filename) throws IOException {
    List<String> lines = new ArrayList<String>();
    AssetManager assets = context.getAssets();
    BufferedReader reader = new BufferedReader(new InputStreamReader(assets.open(filename)));
    while(true) {
        String line = reader.readLine();
        if(line == null) {
            break;
        }
        lines.add(line);
    }
    return lines;
}
public List readLines(字符串文件名)引发IOException{
列表行=新的ArrayList();
AssetManager资产=context.getAssets();
BufferedReader=new BufferedReader(new InputStreamReader(assets.open(filename));
while(true){
字符串行=reader.readLine();
如果(行==null){
打破
}
行。添加(行);
}
回流线;
}

或者选择JSON(或者可能是XML),但纯文本应该可以。

最简单的方法是最好的方法。但是对于预定义的内容,除了xml资源文件,您不需要其他任何东西。SQLite数据库似乎是正确的解决方案。我想简单的txt文件适合您,但是如果您想以“正确”的方式使用SQLite,SQLite似乎是最好的,您可以在这里找到一个很好的示例()。这是一个可搜索的词汇表,带有自定义搜索、SQLLite数据库……如果你的引用和诗歌很大,那么就使用文本文件。要以正确的方式进行此操作,请在sqlite表中将文件路径与您的文件名映射。。即使有20000个单词,这会比将每一行复制到SQLite数据库更有效吗?即使有20k个单词,它也应该很快(不确定有多快,但我猜是毫秒,不是秒)。我肯定会先试试这个,如果速度慢的话,我会考虑其他的选择。