Предпочтения - использование медиа-файлов, изображений - PullRequest
0 голосов
/ 06 декабря 2011

Я новый разработчик, так что мой вопрос может быть слишком основным.Я ищу пример определения предпочтений звука.Например, пользователь может выбрать, какой звук будет запускать приложение.Может быть такой виджет RingtonPreference, чтобы пользователь мог выбрать звук.Как я знаю, предпочтения поддерживают примитивные типы: Boolean, string, float, long и integer.Каким способом лучше всего разработать предпочтения: сохранить в entryValues ​​имена, если звуки (строки), адреса файлов из класса Resourse (целое число) или другим способом.Пожалуйста, предоставьте краткий пример кода.Заранее спасибо!

Прежде всего спасибо за быстрый и подробный ответ!Я хочу упорядочить список звуков: должен быть один «Нет», список звуков, содержащий папку «raw», возможность добавить новый звук из разных мест и две кнопки: «установить» и «отменить».Когда пользователь касается одного элемента из списка - начинает воспроизводиться звук.Есть небольшая проблема со стандартным виджетом, который предоставляет библиотеку Android.«ListPreference» не подходит, потому что при прикосновении к одному из элементов - элемент выбирается и список закрывается, «кнопки не установлены и не отменены».«RingtonPreference» также не подходит - мне не удалось добавить что-то в список.Как можно создать собственный макет предпочтений, то есть выбранные параметры будут сохранены так же, как и на стандартных виджетах.Пожалуйста, предоставьте пример короткого кода.Заранее спасибо!

1 Ответ

1 голос
/ 06 декабря 2011

Я думаю, что лучший способ хранения Ресурса - целые числа.или вы могли бы делать имена.

Я думаю, что целое число более надежно.

Так что для использования 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...