我想在每次有人启动应用程序时随机显示一个新的报价。为了做到这一点,我正在考虑使用包含所有报价的文本文件,每行一个。
我想知道在android工作室我应该把我的文本文件,然后我怎么能读取这个文本文件,并把每一行数组?
我发现这段代码看起来使工作,但它似乎不工作:
// set up variables
String fileName = "MyFriends.txt";
String line;
ArrayList aList = new ArrayList();
//Read the lines of text into an ArrayList
try {
BufferedReader input = new BufferedReader(new FileReader(fileName));
if (!input.ready()) {
throw new IOException()
}
while ((line = input.readLine()) != null) {
aList.add(line);
}
input.close();
} catch (IOException e) {
System.out.println(e);
}
感谢解决方案:这个页面很有帮助:http://developer.android.com/guide/topics/resources/string-resource.html#StringArray
String[] quotes = getResources().getStringArray(R.array.quotes_array);
Random randomGenerator = new Random();
//Construct a new Random number generator
int randomNumber = randomGenerator.nextInt(quotes.length);
fact = quotes[randomNumber];
这是一种非常非机器人的思维方式。
考虑使用res/values/strings.xml
来存储引号,然后使用getResources().getStringArray(R.string.quotes)
从那里随机读取一个引号,然后生成一个介于0和该数组大小之间的随机整数。
使用资源的好处-你可以使用相同的标识符,但根据地区改变引号本身
您可以将它放在assets目录中。如果这样做,访问文件的方式也会改变。谷歌查看如何从资产中读取文件。