Урок 136. CursorLoader

Обсуждение уроков
Аватара пользователя
Akella
Сообщения: 42
Зарегистрирован: 05 ноя 2013, 12:55
Откуда: UA
Контактная информация:

Re: Урок 136. CursorLoader

Сообщение Akella » 15 дек 2013, 01:57

Так а зачем автор статьи это вставил в код?

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

Re: Урок 136. CursorLoader

Сообщение rezak90 » 15 дек 2013, 02:04

Akella писал(а):Так а зачем автор статьи это вставил в код?
а может стоит читать статьи, а не просто копировать код и задавать глупые вопросы?
Выдержка из статьи: Ну и я 3-х секундной паузой сэмулировал долгое чтение БД для наглядности асинхронной работы.
R.id.team
Политика на форуме запрещена

Аватара пользователя
Akella
Сообщения: 42
Зарегистрирован: 05 ноя 2013, 12:55
Откуда: UA
Контактная информация:

Re: Урок 136. CursorLoader

Сообщение Akella » 15 дек 2013, 09:39

Спасибо. Вспомнил.
Я читал изучал статью раньше. И вчера решил воспроизвести. Поэтому так и получилось.

Аватара пользователя
Akella
Сообщения: 42
Зарегистрирован: 05 ноя 2013, 12:55
Откуда: UA
Контактная информация:

Re: Урок 136. CursorLoader

Сообщение Akella » 15 дек 2013, 09:54

Akella писал(а):И ещё вопрос. В какой папке андроида хранится созданная база данных?
Перечитал статью и код. Не могу найти этот момент, где описан путь к базе. Поискал в аппарате файл mydb -тоже не нашёл.

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

Re: Урок 136. CursorLoader

Сообщение Foenix » 15 дек 2013, 17:41

rezak90 писал(а):а это что?
TimeUnit.SECONDS.sleep(3);
теперь понятно почему на 3 сек зависает?
оборжаться :D
R.id.team

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

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 136. CursorLoader

Сообщение damager82 » 18 дек 2013, 13:28

Foenix писал(а):
rezak90 писал(а):а это что?
TimeUnit.SECONDS.sleep(3);
теперь понятно почему на 3 сек зависает?
оборжаться :D
Я честно сомневался, ставить ли такую паузу ...
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

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

Re: Урок 136. CursorLoader

Сообщение Foenix » 18 дек 2013, 14:42

Та нормально, надо было даже подольше :-D
R.id.team

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

Артур
Сообщения: 2
Зарегистрирован: 08 окт 2013, 15:36

Re: Урок 136. CursorLoader

Сообщение Артур » 20 дек 2013, 15:27

Товарищи, подскажите как можно включить поддержку внешних ключей в sqlite на мобильном устройстве? Нашол метод setForeignKeyConstraintsEnabled для экземпляра базы, но он работает только начиная с версии API 18. Есть какой-нибудь другой способ для версии API 8 или хотя бы 10?

Аватара пользователя
Akella
Сообщения: 42
Зарегистрирован: 05 ноя 2013, 12:55
Откуда: UA
Контактная информация:

Re: Урок 136. CursorLoader

Сообщение Akella » 06 янв 2014, 21:24

У меня вопрос по папке для файла базы.
Куда, в какую папку проекта нужно скопировать готовый db-файл базы sqlite?
Как правильно получить путь к файлу базы в коде приложения?

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Урок 136. CursorLoader

Сообщение altwin » 07 янв 2014, 13:25

Akella писал(а):У меня вопрос по папке для файла базы.
Куда, в какую папку проекта нужно скопировать готовый db-файл базы sqlite?
Как правильно получить путь к файлу базы в коде приложения?
тут на форуме уже отвечали раз 10 на подобные вопросы. базу в папку assets, и дальше YourAppContext.getAssets().toString() - вернет папку, вариантов того, как это сделать очень много -стандартные конструкции и ничего сложного в этом нет. Секрет Android тут
Изображение

Аватара пользователя
Akella
Сообщения: 42
Зарегистрирован: 05 ноя 2013, 12:55
Откуда: UA
Контактная информация:

Re: Урок 136. CursorLoader

Сообщение Akella » 07 янв 2014, 13:32

10 раз не видел, не нужно так бурно реагировать
уж поверьте, что я пытался искать
поиск приводит всегда к тем примерам, где прямо в коде создаётся и потом уже используется база, но нигде не написано, куда копировать готовый файл базы
мало того, ничего про assets нет, везде \data или \data\data\

Аватара пользователя
Akella
Сообщения: 42
Зарегистрирован: 05 ноя 2013, 12:55
Откуда: UA
Контактная информация:

Re: Урок 136. CursorLoader

Сообщение Akella » 07 янв 2014, 13:33

altwin писал(а):Секрет Android тут
"Android Как получить путь к файлу базы в коде приложения?"

и тут, как Вы выразились, тоже ничего нет ;)

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Урок 136. CursorLoader

Сообщение altwin » 07 янв 2014, 13:43

Akella писал(а):
altwin писал(а):Секрет Android тут
"Android Как получить путь к файлу базы в коде приложения?"

и тут, как Вы выразились, тоже ничего нет ;)
чего конкретно там нет? второй результат поиска - http://developer.alexanderklimov.ru/and ... eadydb.php, подробно описывает процесс копирования базы в проект, т.е. куда ее положить и как получить, по сути каждый результат отвечает на ваш вопрос. Один из последних ответов по этой теме в данном форуме -viewtopic.php?f=34&t=3217

повторю - это стандартная задача не требующая размышлений и имеющая десятки готовых описанных реализаций.

P.S. между вашим ответом и предыдущим сообщением - прошло 6 минут, вы успели все прочитать по ссылке и сделали вывод, что ответа нет? Вы уверены, что вам вообще стоит заниматься программированием?
Последний раз редактировалось altwin 07 янв 2014, 13:47, всего редактировалось 1 раз.
Изображение

Аватара пользователя
Akella
Сообщения: 42
Зарегистрирован: 05 ноя 2013, 12:55
Откуда: UA
Контактная информация:

Re: Урок 136. CursorLoader

Сообщение Akella » 07 янв 2014, 13:46

Я приношу извинения :)
За два дня поисков уже глаз замылен :(, как говорится
спасибо!!!

Аватара пользователя
Akella
Сообщения: 42
Зарегистрирован: 05 ноя 2013, 12:55
Откуда: UA
Контактная информация:

Re: Урок 136. CursorLoader

Сообщение Akella » 07 янв 2014, 20:33

я в шоке от того, что я обязан в каждой таблице держать ключевое поле с именем "_id", а не с тем именем, которое я хочу

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

Re: Урок 136. CursorLoader

Сообщение Foenix » 08 янв 2014, 18:04

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

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

Аватара пользователя
Akella
Сообщения: 42
Зарегистрирован: 05 ноя 2013, 12:55
Откуда: UA
Контактная информация:

Re: Урок 136. CursorLoader

Сообщение Akella » 08 янв 2014, 19:45

хочу просто id, например, но Вы, видать, не работали с базами, раз приемлете такой подход

Аватара пользователя
Akella
Сообщения: 42
Зарегистрирован: 05 ноя 2013, 12:55
Откуда: UA
Контактная информация:

Re: Урок 136. CursorLoader

Сообщение Akella » 08 янв 2014, 23:55

и о составных ключах наверное не слышали
и о натуральных ключах тоже не слышали

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

Re: Урок 136. CursorLoader

Сообщение Mikhail_dev » 09 янв 2014, 00:57

Foenix писал(а):
Akella писал(а):я в шоке от того, что я обязан в каждой таблице держать ключевое поле с именем "_id", а не с тем именем, которое я хочу
я в шоке, что ты хочешь какое-то другое имя вместо этого
Честно говоря я тоже соглашусь с ним. К чему жесткая привязка? Другое дело, что я не вижу в ней проблемы, но он...
и о составных ключах наверное не слышали
и о натуральных ключах тоже не слышали
Поясните пожалуйста что имеется ввиду. В чем проблема реализации составных ключей ДАЖЕ с жестким именем _id и что есть натуральный ключ? Первичный?

Аватара пользователя
Akella
Сообщения: 42
Зарегистрирован: 05 ноя 2013, 12:55
Откуда: UA
Контактная информация:

Re: Урок 136. CursorLoader

Сообщение Akella » 09 янв 2014, 01:08

Натуральный ключ может быть основан не на целочисленном поле, а, например, на текстовом поле "product_name". С точки зрения объектной модели, глупо называть текстовое поле, где хранятся имена продуктов "_id". Правильнее, если оно будет называться именно "product_name". Так будет понятнее и разработчику, и тем, кто будет дорабатывать проект, как часто бывает. По имени поля сразу понятно, что там хранятся текстовые данные.
Придётся опять в запросе писать:
select product_name _id from products_table

Ответить