Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
gradus
0 / 0 / 0
Регистрация: 30.10.2015
Сообщений: 41
#1

Сохранение данных в приложении - Android

09.11.2015, 16:20. Просмотров 270. Ответов 5
Метки нет (Все метки)

Через json общаюсь с сервером и при авторизации хочу в приложении сохранять пользовательские данные.
Прочитал про SharedPreferences и вот что хочу сделать отдельный класс
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class storage{
    private SharedPreferences mSettings;
 
    public storage(String Storage_name){
        this.mSettings = getSharedPreferences(Storage_name, MODE_PRIVATE);
    }
 
   public void set(String Key, String Value){
        SharedPreferences.Editor editor = this.mSettings.edit();
        editor.putString(Key, Value);
        editor.apply();
    }
 
    public String get(String Key){
        return this.mSettings.getString(Key,null);
    }
}
Ну понятно что ошибка в связи с отсутствием активити в классе.
Но мне то необходимо обращаться к данным из разных активити.
Как можно это сделать ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2015, 16:20     Сохранение данных в приложении
Посмотрите здесь:

Сохранение данных в файл Android
Сохранение данных в vcf формате Android
Android Сохранение фото в базу данных
Сохранение данных Android
Хранение данных в приложении-справочнике Android
Сохранение введенных пользователем данных Android
Загрузка Xml с сервера и отображение данных в приложении Android
Android Хранение учетных данных в приложении
Сохранение данных из переменной Android
Android Сохранение данных
Android Сохранение в Bundle данных
База данных в Android приложении Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
09.11.2015, 16:41     Сохранение данных в приложении #2
gradus, унаследоваться от Application, прописать унаследованный класс в манифесте и использовать его
zoleg
14 / 14 / 1
Регистрация: 10.01.2012
Сообщений: 121
11.11.2015, 00:02     Сохранение данных в приложении #3
Так ить данные из SharedPrefs можно тащить из любой активити.
Java
1
2
3
4
5
6
7
8
9
10
SharedPreferences taxiCouter;
 
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
         taxiCouter = PreferenceManager.getDefaultSharedPreferences(this);
        TetDriverData.lastShownDistceOutOfCity = taxiCouter.getInt("intOutCity", 0) / 100;
        TetDriverData.lastShownPaymentOutOfCity = taxiCouter.getInt("payForOutOfCity", 0) / 100;
        TetDriverData.lastShownDistceInCity = taxiCouter.getInt("intInCity", 0) / 100;
        TetDriverData.lastShownPaymentInCity = taxiCouter.getInt("payForCity", 0) / 100;
gradus
0 / 0 / 0
Регистрация: 30.10.2015
Сообщений: 41
11.11.2015, 09:22  [ТС]     Сохранение данных в приложении #4
На сколько я понял, тогда для каждой активити будут свои данные в SharedPreferences, а не общие для всех.
Да и в любом случае сделать некий tools для хранения данных, без нативщины.
В идеале я бы хотел применить мультилон для хранения данных (где-то прочитал, что в java мультилон не применим). Где в instance конструктор передавать имя файла к примеру, для того что бы каждая информация хранилась в отдельном файле (данные о пользователе, настройки приложения, другие данные с сервера).
SharedPreferences для этого вроде бы подходит, но изначальная привязка к активити это бред (ИМХО), мануала по привязке к application пока не нашел, самому пока тяжело ибо только недавно взялся за разработку на java.
p.s. гребаный перфекционизм )
bako-95
9 / 9 / 4
Регистрация: 27.04.2015
Сообщений: 112
11.11.2015, 09:32     Сохранение данных в приложении #5
gradus, в коде
Java
1
this.mSettings = getSharedPreferences(Storage_name, MODE_PRIVATE);
надпись MODE_PRIVATE как бэ намекает что он приватный, то есть закрытый для других активностей
описание на англ
Кликните здесь для просмотра всего текста
File creation mode: the default mode, where the created file can only be accessed by the calling application (or all applications sharing the same user ID).


Добавлено через 4 минуты
Лично использую MODE_MULTI_PROCESS

Добавлено через 3 минуты
оказывается с появлением Android 6.0 «Marshmallow» MODE_MULTI_PROCESS признали устаревшим
Spelcrawler
523 / 493 / 111
Регистрация: 12.03.2014
Сообщений: 1,646
Завершенные тесты: 1
11.11.2015, 11:44     Сохранение данных в приложении #6
Цитата Сообщение от bako-95 Посмотреть сообщение
то есть закрытый для других активностей
Для других приложений. На активити ограничений нет.
Yandex
Объявления
11.11.2015, 11:44     Сохранение данных в приложении
Ответ Создать тему
Опции темы

Текущее время: 05:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru