【问题标题】:Android: Random number generator to select a phrase and phrases managementAndroid:随机数生成器选择短语和短语管理
【发布时间】:2013-04-03 08:08:56
【问题描述】:

我要求一个特定的场景。

我有很多短引号要随机绘制以显示。是否有以前为此编写的良好示例代码?

我现在在文本编辑器中的引号。我是否应该将它作为文本文件存储在 Android 项目中并逐行加载为文本文件并将其加载到字符串数组中?如果是这样我该怎么做(从 Android JAVA 中的文本文件加载引号)?

我是否也应该为每个报价将其存储为 String.xml?我问这个 b/c 我认为 XML 标记的非常低效的 b/c 会增大文件大小..

请建议并原谅我对这里的一些事情的无知:)

【问题讨论】:

    标签: android arrays string text


    【解决方案1】:

    您可以使用文本文件并在其中将您的引号放在此格式中

    string:string:string
    string:string:string
    string:string:string
    

    现在读取该文件并将其转换为这样的数组

    FileReader fin = new FileReader(fileName);
    Scanner src = new Scanner(fin);
    ArrayList<String> lines = new ArrayList<String>();
    src.useDelimiter(":");
    
    while (src.hasNext()) {
        lines.add(src.nextLine());
        // replace above line with array
    }
    String[] lineArray = new String[lines.size()];
    lines.toArray(lineArray);
    

    并从中选择随机引用

    Random r = new Random();
    Log.i("selected quote","quote : " + lineArray[r.nextInt(lines.size())]);
    

    希望对你有帮助:)

    【讨论】:

    • 好东西...有没有一种有效的方法可以共享此代码以在 5 个不同的活动中使用?我问 b/c 我知道我可能必须创建一个类并调用一个类函数来在 UI 中的活动之间切换时一遍又一遍地填充这个数组......有没有办法只加载/填充数组一次并在各种活动中分享? tnx
    • 是的,可以将lineArray设为静态,以便在所有Activity中使用
    猜你喜欢
    • 2022-07-05
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    相关资源
    最近更新 更多