如何在 Android Studio 的所有页面中保存一项功能(即 SFX 或音乐等设置)?
Posted
技术标签:
【中文标题】如何在 Android Studio 的所有页面中保存一项功能(即 SFX 或音乐等设置)?【英文标题】:How to save a feature (i.e. setting like SFX or Music) across all pages in Android Studio? 【发布时间】:2019-03-04 22:06:12 【问题描述】:我想知道如何在 android Studio 中在所有页面之间切换时保存所有页面的功能。
我正在尝试制作一个经过操纵的掷骰子应用程序,我希望在我将其关闭之前,我希望该设置与应用程序保持一致。
我想要保存设置的页面的当前代码:
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
public void showToast(View view)
Toast toast = Toast.makeText(this, "You've switched a switch", Toast.LENGTH_SHORT);
toast.show();
public void changeHomeScreen(View view)
startActivity(new Intent(getApplicationContext(), HomeScreen.class));
public void trollMode (View view)
Switch s = findViewById(R.id.switch3);
ImageView i = findViewById(R.id.imageView2);
Button a = findViewById(R.id.button4);
Button b = findViewById(R.id.button7);
Button c = findViewById(R.id.button8);
Button d = findViewById(R.id.button9);
Button e = findViewById(R.id.button10);
Button f = findViewById(R.id.button11);
a.setVisibility(View.INVISIBLE);
b.setVisibility(View.INVISIBLE);
c.setVisibility(View.INVISIBLE);
d.setVisibility(View.INVISIBLE);
e.setVisibility(View.INVISIBLE);
f.setVisibility(View.INVISIBLE);
if (s.isChecked())
i.setImageResource(R.drawable.trollface);
Toast toast = Toast.makeText(this, "You have ENABLED Troll Mode!", Toast.LENGTH_SHORT);
toast.show();
MediaPlayer myAudio = MediaPlayer.create(MainActivity.this, R.raw.evillaugh);
myAudio.start();
else
i.setImageResource(R.drawable.dices);
Toast toast = Toast.makeText(this, "You have DISABLED Troll Mode", Toast.LENGTH_SHORT);
toast.show();
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
public void showToast(View view)
Toast toast = Toast.makeText(this, "You've switched a switch", Toast.LENGTH_SHORT);
toast.show();
public void changeHomeScreen(View view)
startActivity(new Intent(getApplicationContext(), HomeScreen.class));
public void trollMode (View view)
Switch s = findViewById(R.id.switch3);
ImageView i = findViewById(R.id.imageView2);
Button a = findViewById(R.id.button4);
Button b = findViewById(R.id.button7);
Button c = findViewById(R.id.button8);
Button d = findViewById(R.id.button9);
Button e = findViewById(R.id.button10);
Button f = findViewById(R.id.button11);
a.setVisibility(View.INVISIBLE);
b.setVisibility(View.INVISIBLE);
c.setVisibility(View.INVISIBLE);
d.setVisibility(View.INVISIBLE);
e.setVisibility(View.INVISIBLE);
f.setVisibility(View.INVISIBLE);
if (s.isChecked())
i.setImageResource(R.drawable.trollface);
Toast toast = Toast.makeText(this, "You have ENABLED Troll Mode!", Toast.LENGTH_SHORT);
toast.show();
MediaPlayer myAudio = MediaPlayer.create(MainActivity.this, R.raw.evillaugh);
myAudio.start();
else
i.setImageResource(R.drawable.dices);
Toast toast = Toast.makeText(this, "You have DISABLED Troll Mode", Toast.LENGTH_SHORT);
toast.show();
这是用于调用我的方法的名为“Troll Mode”的开关。我希望,当它打开时,让按钮出现,然后当你点击这些按钮时,我希望它把你重新路由到我的主页。当您在巨魔模式打开时在主页上掷骰子时,它只会显示您选择的数字,而不会显示其他任何内容,直到您关闭巨魔模式。
如果有人需要有关该问题的更多信息,我很乐意尽我所能为您提供所需的信息。
【问题讨论】:
【参考方案1】:我正在尝试制作一个经过操纵的掷骰子应用程序,我希望在我将其关闭之前,我希望该设置与应用程序保持一致。
使用SharedPreferences 存储设置。
有关如何使用SharedPreferences
的指南,请参阅the training documentation。
如果您想向用户公开设置,请使用PreferenceFragment。
【讨论】:
我应该为 SharedPreferences 使用的确切代码是什么。它太深入了,我只有几天的时间来弄清楚。 我添加了一个指向培训文档的链接,向您展示如何使用代码。如果这还不够,您应该可以在 Google for SharedPreferences 中找到大量示例。 我正在使用这段代码,它完全搞砸了TextView t = findViewById(R.id.textView2); ImageView v = findViewById(R.id.imageView); Intent i = getIntent(); Bundle b = i.getExtras(); assert b != null; receivedCheckValue = b.getBoolean(MainActivity.CHECK_YES_OR_NO); if (b != null) newString = null; else if(receivedCheckValue == true) myRandInt = 1; t.setText("Your Number is 1"); v.setImageResource(R.drawable.diceone);
它有什么问题吗?
1) 您应该使用格式正确的代码更新您的问题以提高可读性。添加代码作为注释几乎是不可能阅读的。 2)当你更新你的问题时,添加比“它完全搞砸了”更多的细节。解释你的问题,就像你在和一个 5 岁的孩子说话一样。 ***.com/help/how-to-ask以上是关于如何在 Android Studio 的所有页面中保存一项功能(即 SFX 或音乐等设置)?的主要内容,如果未能解决你的问题,请参考以下文章
如何在所有活动中使用Android Studio默认导航抽屉[重复]
当用户切换到 Android Studio Kotlin 中的其他页面时,如何停止播放音乐?
如何在Android Studio的活动底部制作Android xml Linearlayout?