我是新开发人员,所以我的问题可能太基本了。
我以定义声音偏好的示例为例。例如,用户可以选择哪种声音将启动应用程序。可能会有这样的RingtonPreference widjet,因此用户可以选择声音。
据我所知,首选项支持以下原始类型: bool(boolean) 值,字符串,浮点数,长整数和整数。设计首选项的最佳方法是:将声音(字符串)的名称,Resourse类的文件地址(整数)或其他方式存储在entryValues中。
请提供简短的代码示例。
提前致谢!
首先感谢您的快速详细的回答!
我要排列声音列表:必须有一个“无”,包含文件夹“raw”的声音列表,从不同位置添加新声音的选项和两个按钮:“设置”和“取消”。当用户触摸列表中的一项时–声音开始播放。
提供android库的标准小部件有一个小问题。 “ListPreference”是不合适的,因为触摸其中一项(选择项目并关闭列表),“没有设置和取消按钮”。
“RingtonPreference”也不合适-我没有成功添加一些东西到列表中。
如何构建自定义的首选项布局,即选择的选项将被保存以及在标准小部件上。请提供一个简短的代码示例。提前致谢!
最佳答案
我认为最好的存储资源的方法是整数。或者你可以做名字。
我认为整数更可靠。
因此,要对此使用SharedPreference,您将需要访问SharedPreference应用程序
public class PreferencesDemo extends Activity {
SharedPreferences app_preferences;
private int resourceNumber;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Get the app's shared preferences
SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(this);
resourceNumber = app_preferences.getInt("resourceNumber", 0);
if(resourceNumber == 0){
//This means the user hasnt selected a song and you must act accordingly. Or put a resource number where the 0 is do set it to a default song
}
您可能想要创建一种将歌曲放入SharedPreference的方法,例如;
private void createSongResouces(){
SharedPreferences.Editor editor = app_preferences.edit();
//Here you can put as many songs as you want just make sure you call editor.commit(); as i do.
editor.putInt("resourceNumber", resourceNumber);
editor.commit(); // Very important
}
关于android - 首选项-使用媒体文件,图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8393647/