Java 如何在android中在自己的应用程序中进行用户可选背景?

Java 如何在android中在自己的应用程序中进行用户可选背景?,java,android,Java,Android,我有一个android应用程序,它是一个简单的主屏幕。我想要的是创建一个选项,用户可以自己选择背景。目前,我已经做出了选择,但在我重新启动或按下后退按钮后,它不会保留背景。它返回到我在xml文件中设置为android:background的背景。有什么出路吗?我听说使用共享偏好是可能的。但我不知道怎么做。有人能帮上忙吗?假设您有几个背景供他们选择,他们选择了一个,您只需存储他们选择的背景的id,您可以这样做: SharedPreference sp = getSharedPreferences(

我有一个android应用程序,它是一个简单的主屏幕。我想要的是创建一个选项,用户可以自己选择背景。目前,我已经做出了选择,但在我重新启动或按下后退按钮后,它不会保留背景。它返回到我在xml文件中设置为android:background的背景。有什么出路吗?我听说使用共享偏好是可能的。但我不知道怎么做。有人能帮上忙吗?

假设您有几个背景供他们选择,他们选择了一个,您只需存储他们选择的背景的id,您可以这样做:

SharedPreference sp = getSharedPreferences("uniqueString", 0);
Editor editor = sp.edit();
editor.putInt("userBG", 5);// this is assuming the user picked your 5th bg
editor.commit();
然后,一旦在活动中创建,您就可以再次加载SharedReference并

int userPic = sp.getInt("userBG", 0); //this will either pull a previously saved number or return 0 (or whatever number you choose to provide as the default there.
就这样。 下面是谷歌的例子,以防我的代码片段不够用。。。

请注意,如果您存储的是int,则可以存储背景本身的可绘制id,这样可以节省一个翻译步骤。然后,您可以直接将资源拉入父布局的背景中