Урок 34. Хранение данных. SQLite

Обсуждение уроков
lancer
Сообщения: 12
Зарегистрирован: 21 ноя 2012, 23:12

Re: Урок 34. Хранение данных. SQLite

Сообщение lancer » 09 янв 2013, 23:41

Так ведь 2.3.3 больше 2.2
Причем весь функционал при READONLY работает прекрасно (все запросы выполняются). Кроме записи он просто игнорирует запись и ошибку не выдает.

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

Re: Урок 34. Хранение данных. SQLite

Сообщение rezak90 » 09 янв 2013, 23:58

бд создается? проверяли? на чём именно крошится? наверное когда идёт запись в бд а не создание?
R.id.team
Политика на форуме запрещена

lancer
Сообщения: 12
Зарегистрирован: 21 ноя 2012, 23:12

Re: Урок 34. Хранение данных. SQLite

Сообщение lancer » 10 янв 2013, 00:16

rezak90 писал(а):бд создается? проверяли? на чём именно крошится? наверное когда идёт запись в бд а не создание?
Вроде да. Первое действие которое он должен выполнить - создать список. Но в этот момент записи нет. Он пытается чего-то сделать с metadata и выдает
[DELETE FROM android_metadata] attempt to write a readonly database.
Да при READONLY все работает.
Да еще. Я установил уже готовую БД и не создавал ее в приложении.

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

Re: Урок 34. Хранение данных. SQLite

Сообщение rezak90 » 10 янв 2013, 00:39

я не пойму, считать данные с бд получается, а записать не получается?
R.id.team
Политика на форуме запрещена

lancer
Сообщения: 12
Зарегистрирован: 21 ноя 2012, 23:12

Re: Урок 34. Хранение данных. SQLite

Сообщение lancer » 10 янв 2013, 00:47

rezak90 писал(а):я не пойму, считать данные с бд получается, а записать не получается?
да, именно так, но когда вместо READWRITE пишу READONLY
когда стоит READWRITE выдает ошибку
А в настройках телефона может что-нибудь быть?
И еще что может быть. Таблицу android_metadata я создал вручную (так как выдавал ошибку). Сегодня создам какую-нибудь БД прямо на телефоне и посмотрю что в ней должно быть. На форуме мелькало, что данные в ней как раз зависят от модели телефона

lancer
Сообщения: 12
Зарегистрирован: 21 ноя 2012, 23:12

Re: Урок 34. Хранение данных. SQLite

Сообщение lancer » 10 янв 2013, 22:32

Итак вопрос решен.
В Манифесте необходимо вставить строку
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
(я ее прописал не правильно)
Теперь БД можно сохранить на внешнем носителе и делать с ней что угодно :) не используя папку data/data

PS Причем при выборе в Application - Permissin соответствующего пункта - выдает ошибку.
При этом имеется в Манифесте 2 Ворнинга, что не влияет на работоспособность программы

http://stackoverflow.com/questions/6162 ... al-storage

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

Re: Урок 34. Хранение данных. SQLite

Сообщение Foenix » 15 янв 2013, 23:02

Кто-нибудь занимался проблемой русских букв? Подскажите, пожалуйста, как конкретно компилировать библиотеку с под андроид и куда ее потом девать..
И еще вопрос, это http://www.urban-eye.com/pagesqliteicu.html может подойти или нет.
Весь вечер читаю, уже мозги закипели - вроде начинают подробно в разных статьях объяснять, потом галопом по европам, как результат, оказывается, что нужно установить тучу программ разных :( А я даже не знаю нужно их вообще устанавливать или нет.
Хотела вообще свою функцию написать, но изучила этот вопрос, пишут, что под андроидный сиквел нельзя.
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: Урок 34. Хранение данных. SQLite

Сообщение rezak90 » 15 янв 2013, 23:17

эмм.. собственно обрисуйте проблему, а то как то не ясно зачем длл-ка.
R.id.team
Политика на форуме запрещена

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

Re: Урок 34. Хранение данных. SQLite

Сообщение Foenix » 15 янв 2013, 23:22

проблема - нужно сделать вменяемый LIKE, регистронезависимый и т.д. А то этот странные результаты выдает..
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: Урок 34. Хранение данных. SQLite

Сообщение rezak90 » 15 янв 2013, 23:26

в sqlite есть регистронезависимые функции, на оф сайте смотрите функции, если вспомню то скажу, я здесь где то уже раза два постил на счёт сравнения с независимым регистром
R.id.team
Политика на форуме запрещена

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

Re: Урок 34. Хранение данных. SQLite

Сообщение Foenix » 15 янв 2013, 23:27

rezak90 писал(а):в sqlite есть регистронезависимые функции, на оф сайте смотрите функции, если вспомню то скажу, я здесь где то уже раза два постил на счёт сравнения с независимым регистром
да вы что, но я только и читала, что нету полноценной поддержки юникода и тыпы. как же это все? http://habrahabr.ru/post/150543/ и так далее?
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: Урок 34. Хранение данных. SQLite

Сообщение rezak90 » 15 янв 2013, 23:32

ладно, пока я ищу то почему не приводить все записи например к одному из регистров и сравнивать? второй вариант созрел в голове, думаю что в ormlite должно быть что то подобное в сравнении, тоже нужно уточнить
R.id.team
Политика на форуме запрещена

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

Re: Урок 34. Хранение данных. SQLite

Сообщение Foenix » 15 янв 2013, 23:36

ну дык это надо еще одно поле держать, ого!
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: Урок 34. Хранение данных. SQLite

Сообщение rezak90 » 15 янв 2013, 23:38

зачем поле, вытягиваем первое значение, вытягиваем второе, приводим их к одному виду и сравниваем
R.id.team
Политика на форуме запрещена

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

Re: Урок 34. Хранение данных. SQLite

Сообщение Foenix » 15 янв 2013, 23:40

ого! сколько ж у меня фильтр работать будет
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: Урок 34. Хранение данных. SQLite

Сообщение rezak90 » 15 янв 2013, 23:45

смотря сколько значений, думаю будет уходить на 1-2 сек на 1000 записей
R.id.team
Политика на форуме запрещена

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

Re: Урок 34. Хранение данных. SQLite

Сообщение Foenix » 15 янв 2013, 23:51

у меня 90 тыс.
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: Урок 34. Хранение данных. SQLite

Сообщение rezak90 » 15 янв 2013, 23:55

хм... ну тогда даже если бы обычный лайк работал как надо то времени уходило бы не мало, так что даже если мой вариант подойдет/не подойдет то юзать нужно всё дело в отдельном потоке и кидать прогресс барчик...
а вообще я бы советовал использовать выше упомянутый мною ormlite так как он быстрее sqlite и к тому же он упрощает жизнь программисту если бд не маленькая. К тому же я люблю его за то что ему достаточно передать объект и он сам запишет его поля в бд и не нужно придумывать запросы и т.д.
R.id.team
Политика на форуме запрещена

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

Re: Урок 34. Хранение данных. SQLite

Сообщение Foenix » 15 янв 2013, 23:59

да нет, сейчас все быстро выполняется (с кривым like).
R.id.team

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

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

Re: Урок 34. Хранение данных. SQLite

Сообщение Foenix » 16 янв 2013, 22:37

Люди, есть тут кто-нибудь? Ну подскажите, что нужно делать дальше....тут по ссылке
http://habrahabr.ru/post/122408/
я скомпилировала даже библиотеку, получился файл libandroid_sqlite.so
Но дальше вообще не въеду как его использовать, автор уж очень сильно вскользь упоминает! Давайте, вместе разберемся, потом же пригодится однозначно! Мне запросы нужно делать нечувствительными к регистру :(
R.id.team

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

Ответить