【问题标题】:Preferences - using media files, images首选项 - 使用媒体文件、图像
【发布时间】:2011-12-06 00:00:10
【问题描述】:

我是一名新开发人员,所以我的问题可能过于基本。 我寻找定义声音偏好的示例。例如,用户可以选择启动应用程序的声音类型。可以有这样一个 RingtonPreference widjet,所以用户可以选择一个声音。 据我所知,首选项支持基本类型:布尔、字符串、浮点、长整数和整数。设计首选项的最佳方式是:在 entryValues 中存储声音的名称(字符串)、来自资源类的文件地址(整数)或其他方式。 请提供一个简短的代码示例。 提前致谢!

首先感谢您快速详细的回答! 我想安排声音列表:必须有一个“无”,包含文件夹“原始”的声音列表,从不同位置添加新声音的选项和两个按钮:“设置”和“取消”。当用户触摸列表中的一项时 - 声音开始播放。 提供 android 库的标准小部件存在一个小问题。 “ListPreference”是不合适的,因为在触摸其中一个项目时——选择项目并关闭列表,“没有设置和取消按钮”。 “RingtonPreference”也不合适——我没有成功添加一些东西到列表中。 如何构建自定义首选项布局,即选择的选项将被保存以及标准小部件。请提供一个简短的代码示例。提前致谢!

【问题讨论】:

标签: android file path preferences audio


【解决方案1】:

我认为存储资源的最佳方式是使用整数。或者你可以命名。

我认为整数更可靠。

因此,要使用 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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    • 2020-10-31
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多