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