2012-12-31 64 views
0

我想製作一個顯示當天着名報價的Android應用程序。所以我會有365個報價,每天都會顯示一個新的報價。有關如何完成此任何想法?我的string.xml文件中是否需要365 @strings?有沒有辦法通過它們的索引來訪問字符串數組(或者其他數據結構)來實現這一點?顯示一年中的每一天的字符串

+1

您可以將文本文件添加到資產,每行包含一個報價。或者你可以使用JSON或XML,甚至可以將它放在一個sqlite數據庫中,並將.db文件與您的應用程序捆綁在一起。 – 323go

+0

使用數據庫來存儲每天的報價相對於當天 – Abhishekkumar

回答

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> 
+0

感謝您的答案。如果每個報價都有2個或更多的字符串,那麼引用字符串和作者字符串也是如此。我想要將這兩個字符串存儲在quoteTexts數組的單個索引中,如元組或結構體等。例如:quoteTexts [0] = quote1,author1 – brno792

0

所有的方式是確定的, 如果這組字符串不會在將來被改變,會更好將其存儲爲靜態類。因爲XML解析器需要一些額外的(比靜態類)更多的時間和資源(內存,cpu)來解析,而SQLite需要額外的時間,創建連接的資源等。

但是XML中的organice數據看起來更好邏輯和更通暢)。

看也 Raw resources versus SQLite database

2

你可以使用一個SQLite DB 2列

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

但我認爲這不是一個很好的解決方案

相關問題