Урок 33. Хранение данных. Preferences.

Обсуждение уроков
Parfiry
Сообщения: 4
Зарегистрирован: 02 дек 2012, 15:17

Re: Урок 33. Хранение данных. Preferences.

Сообщение Parfiry » 31 янв 2013, 11:25

Спасибо за быстрый ответ! Я так и думал сделать. Просто думал, что у preference есть уже встроенные методы для обработки таких ситуаций. Но, видимо нет, сделаю через работу с файлами.

G_O_R
Сообщения: 57
Зарегистрирован: 13 ноя 2012, 08:02

Re: Урок 33. Хранение данных. Preferences.

Сообщение G_O_R » 01 фев 2013, 12:53

Почему нет ни где описание как отправить и получать данные с базы которая в интернете находится???каким методом отправить и получать в базу??? и если нет доступа к интернету то данные которые надо передавать как сохранить и передать потом при появлении доступа к сети ( сохранить в файл обычный или создать базу на телефоне и синхронизировать)??? больше всего интересует метод передачи и приема данных из интернета и чтение и запись в базу которая в интернете. если кто знает дайте ссылку или код метода) спасибо заранее)

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 33. Хранение данных. Preferences.

Сообщение Mikhail_dev » 01 фев 2013, 17:00

Потому что нету таких методов. Какая база в интернете? Где база в интернете? Какие права на базу в интернете?
Для передачи данных обычно используют GET и POST запросы (HttpGet и HttpPost, вроде так классы для работы с ними называются). Создаешь объект, указываешь ссылку и отправляешь данные. На этом работа клиента закончилась.
Серверное приложение. Да да,нужно еще серверное приложение. Оно принимает данные, парсит и записывает в базу.
каким методом ... получать в базу???
http://startandroid.ru/ru/uroki/vse-uro ... qlite.html
и если нет доступа к интернету то данные которые надо передавать как сохранить
Если данные в базе, то они уже сохранены. Ссылку привел выше с этого сайта, как работать с базой. База в интернете - это другая база.
сохранить в файл обычный или создать базу на телефоне и синхронизировать
Создать базу на телефоне, она уже потокобезопасная будет.

G_O_R
Сообщения: 57
Зарегистрирован: 13 ноя 2012, 08:02

Re: Урок 33. Хранение данных. Preferences.

Сообщение G_O_R » 02 фев 2013, 14:33

клиентские программы работают в фоновом режиме. они передают данные gps и другую инфу на сервер в базу. после на сайте на карте строится маршрут передвижения, данные которые берутся из базы. вот каким образом передать данные в базу на сервер а не в этом уроке создать базу на клиентском устройстве.

Для передачи данных обычно используют GET и POST запросы (HttpGet и HttpPost, вроде так классы для работы с ними называются). Создаешь объект, указываешь ссылку и отправляешь данные. На этом работа клиента закончилась.
Серверное приложение. Да да,нужно еще серверное приложение. Оно принимает данные, парсит и записывает в базу.

в каком месте написать процедуру отправки данных не подскажите? программа клиентская только 1 сервис. нет форм кнопок и тд. и она невидимая.

Diman_Noob
Сообщения: 2
Зарегистрирован: 06 мар 2013, 00:13

Re: Урок 33. Хранение данных. Preferences.

Сообщение Diman_Noob » 06 мар 2013, 00:21

Работаю с элементами switch, следовательно значение boolean. Пожалуйста помогите разобраться и переделать под bool методы save и loade. :(
Вот кусок кода, который никак у меня не получается:

Код: Выделить всё

SharedPreferences settings;
	  public void loadSwitch() {
		  for (int i = 0; i < settings_name.length; i++) {
		  settings = getPreferences(MODE_PRIVATE);
		  switch1[i] = settings.getBoolean("switch", switch1[i]);}
		  }
	  
	  public void saveSwitch() {
		  for (int i = 0; i < settings_name.length; i++) {
		  settings = getPreferences(MODE_PRIVATE);
		  Editor editor = settings.edit();
		  editor.putBoolean("switch", switch1[i]);
		  editor.commit();}
		  flag=true;
		  }

mercuriy94
Сообщения: 16
Зарегистрирован: 02 апр 2013, 22:44

Re: Урок 33. Хранение данных. Preferences.

Сообщение mercuriy94 » 05 апр 2013, 17:15

Всем здрасьте, подскажите как сделать что бы при первом запуске текст уже был заполнен, тем которым я указываю при создании в xml файле. А то получается при создании ввёл текст, захожу в приложении и текста нет((

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 33. Хранение данных. Preferences.

Сообщение Foenix » 05 апр 2013, 22:21

mercuriy94 писал(а):Всем здрасьте, подскажите как сделать что бы при первом запуске текст уже был заполнен, тем которым я указываю при создании в xml файле. А то получается при создании ввёл текст, захожу в приложении и текста нет((
код, код давайте! где, куда значения вводились, что читаете, где хмл?
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 33. Хранение данных. Preferences.

Сообщение rezak90 » 06 апр 2013, 04:24

код, код давайте! где, куда значения вводились, что читаете, где хмл?
кровожадная =)
R.id.team
Политика на форуме запрещена

tytryn
Сообщения: 7
Зарегистрирован: 23 мар 2013, 15:01

Re: Урок 33. Хранение данных. Preferences.

Сообщение tytryn » 05 май 2013, 11:49

Не актуально.
Разобрался сам, ответ как всегда плавает на поверхности :roll:

dimamad
Сообщения: 6
Зарегистрирован: 05 май 2013, 19:37

Re: Урок 33. Хранение данных. Preferences.

Сообщение dimamad » 05 май 2013, 19:50

Всем привет! В программировании новичек. Сам себе поставил задачу написать будильник и сразу возник вопрос: что лучше использовать для хранения/чтения информации о всех созданных будильниках?
И еще просьба: если использовать бд, то я еще понимаю как можно организовать извлечение/запись объекта- одна строка один будильник, а если preferences, то как то не могу себе представить, как из пар ключ-значение можно воссоздать объект, тыкните пальцем где можно об этом почитать) Спасибо.
Последний раз редактировалось dimamad 05 май 2013, 19:58, всего редактировалось 1 раз.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 33. Хранение данных. Preferences.

Сообщение Foenix » 05 май 2013, 19:58

можно тут глянуть
http://www.site-do.ru/db/db3.php
не супер, но очень по-простому объясняется. Потом что-нибудь еще..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

dimamad
Сообщения: 6
Зарегистрирован: 05 май 2013, 19:37

Re: Урок 33. Хранение данных. Preferences.

Сообщение dimamad » 05 май 2013, 20:03

Foenix, так у меня проблема не с использованием бд для храниния будильников, а с preferences.
С бд вроде все понятно)

dimamad
Сообщения: 6
Зарегистрирован: 05 май 2013, 19:37

Re: Урок 33. Хранение данных. Preferences.

Сообщение dimamad » 05 май 2013, 20:11

Допустим у нас есть класс Alarm который имеет поля-время сигнала, название, мелодия и тд. При запуске приложения мне нужно получить инфу о всех ранее созданных будильниках.Е сли хранить данные в бд то с курсора циклом извлекаю соответсвующие поля -присваиваю аларму -загоняю все алармы в ArrayList- создаю ListView (например) .
Вопрос в том, как реализовать процесс воссоздания/записи всех алармов используя preferences? (аларм это не просто информация типа "ключ-значение")

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 33. Хранение данных. Preferences.

Сообщение Foenix » 05 май 2013, 20:20

не знаю, по-моему Preferences немного не для того предназначены..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

dimamad
Сообщения: 6
Зарегистрирован: 05 май 2013, 19:37

Re: Урок 33. Хранение данных. Preferences.

Сообщение dimamad » 05 май 2013, 20:28

Я тоже подозреваю, что не для этого, но меня смущает тот факт, что для хранения информации о нескольких будильниках пользователя, придется создавать таблицу в бд и постоянно ее дергать. Стоит ли это того, и есть ли еще варианты.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 33. Хранение данных. Preferences.

Сообщение Foenix » 05 май 2013, 20:57

ну я бы сделала так - скачала парочку программ простеньких и посмотрела что они у себя в папках создают эклипсом.
ну и по сути - это лишь громкое название - База данных, на самом деле это такой же файлик с разметкой.. и потом - посмотри как реализовано приложение Блокнот (на сайте девелоперов), там всего-то один класс несчастный с доступом к единственной табличке. И совсем другое когда таблиц много, активити много, то се..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

xr0m
Сообщения: 131
Зарегистрирован: 06 апр 2013, 14:01

Re: Урок 33. Хранение данных. Preferences.

Сообщение xr0m » 05 май 2013, 22:49

dimamad писал(а): Вопрос в том, как реализовать процесс воссоздания/записи всех алармов используя preferences? (аларм это не просто информация типа "ключ-значение")
Используй putStringSet в preferences. Кроме конверсии в стринг и из стринга, других сложностей не вижу.

dimamad
Сообщения: 6
Зарегистрирован: 05 май 2013, 19:37

Re: Урок 33. Хранение данных. Preferences.

Сообщение dimamad » 05 май 2013, 23:33

Тогда опять встает вопрос: что все таки предпочтитнльнее использовать, в таком приложении, бд или preferences?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 33. Хранение данных. Preferences.

Сообщение Foenix » 05 май 2013, 23:37

Если ты хочешь потренироваться - то бд (сложнее и будет полезно).
Если ты хочешь написать программу и выложить на маркете - то бд (потом пользователи могут еще что-то захотеть, что не вписывается в настройки, придется переделывать)
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

dimamad
Сообщения: 6
Зарегистрирован: 05 май 2013, 19:37

Re: Урок 33. Хранение данных. Preferences.

Сообщение dimamad » 05 май 2013, 23:51

Короче решено). Вопрос закрыт. Хотя если еще какие мысли есть, то мне будет интересно, пишитте.

Ответить