每次用户打开应用程序时如何让不同的字符串显示不同的文本?

时间:2013-05-07 00:31:23

标签: android eclipse string random

基本上,应用程序打开菜单,顶部显示欢迎使用bla bla。我希望每当他们每次打开应用程序时都要更改它,以便下次它会说。 Bla bla很棒,你也是。下次它可能会显示不同的文本。基本上我希望能够创建一个字符串数组,每次用户打开app / activity时,都会选择并显示一个随机字符串。如果通过字符串数组有更好的方法,我愿意接受建议。谢谢!

2 个答案:

答案 0 :(得分:1)

构建一个字符串数组,每次都选择一个随机字符串。

例如,这将生成0到99之间的随机数:

Random ran = new Random();
randomNum  = ran.nextInt(100);

因此,您可以从数组中调用字符串:myArray.get(randomNum)

答案 1 :(得分:1)

您应该使用共享首选项,并且每次用户启动应用程序时都会显示另一个句子。

您应该将句子保存在共享首选项中并保存计数器 在str数组中检索你的索引。

应该是:

    String Sentences = "sen one, sen two, sen three, sen four";
int counter = 0;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = prefs.edit();
editor.putString("sentences", Sentences);
editor.putInt("counter", counter);
editor.commit();

在这里,您可以在设备中保存句子和计数器。

现在你如何得到当前的句子和显示? 应该像:

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = prefs.edit()
String sen = prefs.getString("sentences", "");
int counter = prefs.getInt("counter", 0);
String[] fetchArray= sen.split(",");

//now you should display fetchArray[counter].
tv_1.settext(fetchArray[counter] + "");

counter = counter+1;

if (counter == fetchArray[counter].length)
    counter = 0;

editor.putInt("counter", counter);
editor.commit();

这应该完美的工作。 晚安。