Android сохранить настройки и информацию - PullRequest
0 голосов
/ 05 января 2012

Я новичок в Android, я много искал и не мог найти удовлетворительный ответ;мне нужно сохранить некоторые настройки для моего приложения, такие как

1> язык, количество отображаемых элементов, отображать / не отображать изображения и т. д., что, я думаю, лучше всего сделать с использованием общих настроек

2> сохранить, какие категории данных получить из Интернета ...

вот моя проблема:

у меня есть данные, разделенные на объекты категорий с ключом, именем, типом,data [] ... (data [] изменяется все время и не сохраняется после выхода из приложения), (ключ, имя, тип являются окончательными значениями, определенными программистом).

и потому что существует много категорийкоторый пользователь может загружать или не загружать (около 25), он / она может выбирать, какие категории отображать, и эти варианты должны быть сохранены.

я думаю, что использование общих настроек не поможет из-за сложностиданных;я думал об использовании sqlite или xml, но не уверен, что это лучший выбор с учетом эффективности и объема памяти.

примечание: я использую глобальную переменную для массива информации о категориях, потому что data []Необходимо обновлять автоматически каждые 2-3 минуты, и они должны быть доступны для всех действий, также важны эффективность и объем памяти.Буду признателен за любые советы, заранее спасибо.

Ответы [ 3 ]

1 голос
/ 05 января 2012

1> SharedPreferences - правильный выбор

2> у вас есть несколько возможностей

a) Используйте внутреннее хранилище и используйте сериализацию объектов (для простоты), xml (если вы хотите обмениваться данными) или используйте собственный формат

б) SQLite - самое быстрое решение. Но вам нужно больше программировать для этого


b будет моим выбором, поэтому создайте DB-Object (статический или одноэлементный шаблон) и напишите функции для каждой задачи базы данных

0 голосов
/ 22 ноября 2012

Пользователь разделяет настройки в настройках,

 SharedPreferences sharedPreferences = this.applicationContext.getSharedPreferences(preferencesName, Context.MODE_PRIVATE);


    //For saving the setting:    


        //for storing long
              SharedPreferences.Editor editor = sharedPreferences.edit();
                        editor.putLong(key, value);
        //for storing string                editor.commit();
              SharedPreferences.Editor editor = sharedPreferences.edit();
                        editor.putString(key, value);
                        editor.commit();
        //and similarly for int,float etc


        //For Retrieving the string:

            sharedPreferences.getLong(key, defaultValue); //for long value 
            sharedPreferences.getSting(key, defaultValue); //for string value
0 голосов
/ 05 января 2012

1) Да, SharedSettings должен помочь вам. Вокруг много информации, но если вы заблудились, отправляйте сообщения обратно.

2) Я бы сделал таблицу со всеми категориями и логическим значением, которое говорит «покажи», где вы можете хранить, хочет ли пользователь показать это или нет.

Конечно, это зависит от размера категорий и степени их изменения, потому что в противном случае вы будете обновлять базу данных вечно.

...