Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 30.10.2015
Сообщений: 45

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

09.11.2015, 16:20. Показов 1109. Ответов 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);
    }
}
Ну понятно что ошибка в связи с отсутствием активити в классе.
Но мне то необходимо обращаться к данным из разных активити.
Как можно это сделать ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.11.2015, 16:20
Ответы с готовыми решениями:

Хранение данных в приложении-справочнике
Есть задача написать приложение со списком заведений города... Есть текстовой файл с набором данных в виде: Название организации, адрес,...

База данных в Android приложении
Такая проблема, у меня есть база в MySQL, а в приложении нужно, чтобы база была в формате Sqlite, никак не получается конвертировать ее,...

Хранение учетных данных в приложении
Как правильно хранить учетные данные (логин/пароль) в приложении, чтобы их не смогли узнать посторонние лица?

5
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
09.11.2015, 16:41
gradus, унаследоваться от Application, прописать унаследованный класс в манифесте и использовать его
0
69 / 62 / 13
Регистрация: 10.01.2012
Сообщений: 508
11.11.2015, 00:02
Так ить данные из 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;
0
0 / 0 / 0
Регистрация: 30.10.2015
Сообщений: 45
11.11.2015, 09:22  [ТС]
На сколько я понял, тогда для каждой активити будут свои данные в SharedPreferences, а не общие для всех.
Да и в любом случае сделать некий tools для хранения данных, без нативщины.
В идеале я бы хотел применить мультилон для хранения данных (где-то прочитал, что в java мультилон не применим). Где в instance конструктор передавать имя файла к примеру, для того что бы каждая информация хранилась в отдельном файле (данные о пользователе, настройки приложения, другие данные с сервера).
SharedPreferences для этого вроде бы подходит, но изначальная привязка к активити это бред (ИМХО), мануала по привязке к application пока не нашел, самому пока тяжело ибо только недавно взялся за разработку на java.
p.s. гребаный перфекционизм )
0
9 / 9 / 4
Регистрация: 27.04.2015
Сообщений: 112
11.11.2015, 09:32
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 признали устаревшим
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
11.11.2015, 11:44
Цитата Сообщение от bako-95 Посмотреть сообщение
то есть закрытый для других активностей
Для других приложений. На активити ограничений нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.11.2015, 11:44
Помогаю со студенческими работами здесь

Загрузка Xml с сервера и отображение данных в приложении
У меня такой вопрос: как можно загрузить xml файл в приложение и отобразить его чтобы потом без подключения к интернету можно было увидеть...

Работа gps и отправка данных на сервер при закрытом приложении
Добрый день. Подскажите, можно ли сделать так: Когда приложение закрыто, чтобы сервис работал отслеживая местоположение gps и...

Сохранение данных
Знаю, знаю что тема заезженная вдоль и поперек но всё таки задам вопрос, может поможете. Проблема в том, что в моем приложении...

Сохранение данных
Беру JSON из интернета и делаю блоки с текстом и картинками. При скачивании данных сохраняю строку в БД. Как быть с картинками?

Сохранение данных в файл
Здравствуйте. На сколько мне известно, чтобы сохранить данные в файл надо использовать класс SharedPreferences. Чтобы понять как это...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru