显示一年中每一天的字符串

时间:2012-12-31 02:21:16

标签: java android

我想玩制作一款展示当天着名报价的Android应用。所以我会有365个引号,每天都会显示一个新的引号。有关如何实现这一点的任何想法?我的string.xml文件中是否需要365 @strings?有没有办法通过索引访问字符串数组(或许是其他数据结构)来实现这个目的?

3 个答案:

答案 0 :(得分:2)

如果您想使用资源:

Resources res = getResources();
String[] quoteTexts = res.getStringArray(R.array.quotes_array);
quoteTexts[dayNumber]..<---- gives you your text

在资源文件中:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="quotes_array">
    <item>I am rich</item>
    <item>Quote 2</item>
    <item>Quote 3</item>
     ....365 .... times....
 </string-array>
</resources>

答案 1 :(得分:2)

您可以使用带有2列的SQLite DB

Day|Quote 
1  |Your Quote day 1
2  |Your Quote day 2

等...

您可以使用SQLite编辑器编译数据库,然后将已编译的数据库放入您的应用程序中。

如果要在string.xml中定义365行的String数组,可以添加代码

<string-array name="my_quotes_array">
    <item>Live or exist</item>
    <item>Quote 2</item>
    <item>Quote 3</item>
    <item>Quote 4</item>
    <item>Quote 5</item>
     ....etc., one line per day....
 </string-array>
strings.xml

中的

但我认为这不是一个好的解决方案

答案 2 :(得分:0)

一切都好, 如果将来不会更改这组字符串,最好将其存储为静态类。因为XML解析器需要一些额外的(远远超过静态类)时间和资源(内存,cpu)进行解析,而SQLite需要额外的时间,创建连接的资源等。

但XML中的organice数据看起来更好(更合乎逻辑,更通畅)。

再看看 Raw resources versus SQLite database