Урок 35. SQLite. Методы update и delete с указанием условия
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Структурировать данные из БД, это ListView проще всего ...
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Благодаря чему здесь сохраняются значения в полях при повороте экрана с портретного на ландшафтный и наоборот?
up
up
Re: Урок 35. SQLite. Методы update и delete с указанием усло
trololo1 а почему данные должны теряться? не вижу намёка на то что бы они менялись/затерались при повороте
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Урок 70.trololo1 писал(а):Благодаря чему здесь сохраняются значения в полях при повороте экрана с портретного на ландшафтный и наоборот?
up
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Всем добрый вечер! Ребята прошу экстренной помощи!!!! У меня есть готовая БД, подгружаю её в проект, но почему-то она не копируется в //data//data//%s//databases//, естественно приложение рушиться когда дело доходит до мест, где используется БД. А самое интересное, что когда передаю проект знакомым, на их компьютерах всё корректно работает!!! То есть напрашивается вывод что с кодом всё прекрасно. Тогда куда копать?? Помогите разобраться в чём может быть проблема, где причину искать???
P.S. я уже даже eclipse переустановила...
P.S. я уже даже eclipse переустановила...
Re: Урок 35. SQLite. Методы update и delete с указанием усло
1) как подгружаете?;
2) на каких версиях андроида тестили? (именно девайсные);
3) на какой версии не получается подгрузить? (телефонной а не эмуляторной)
2) на каких версиях андроида тестили? (именно девайсные);
3) на какой версии не получается подгрузить? (телефонной а не эмуляторной)
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 35. SQLite. Методы update и delete с указанием усло
rezak90, спасибо за оперативность!
1) подгружала и копированием и перетаскиванием
2) на всех перепробовала от 8 до 15;
3) а вот тут интересно: если АПК скомпилирован с моего компа, то ни на каких не работает. А вот если АПК того же проекта брать с других компов тогда на чём угодно прекрасно функционирует.
Тогда уж вопрос: как правильно БД с компьютера подгружать в assets? (может действительно что-то не так делаю, хотя друзья через google диск загружают).
1) подгружала и копированием и перетаскиванием
2) на всех перепробовала от 8 до 15;
3) а вот тут интересно: если АПК скомпилирован с моего компа, то ни на каких не работает. А вот если АПК того же проекта брать с других компов тогда на чём угодно прекрасно функционирует.
Тогда уж вопрос: как правильно БД с компьютера подгружать в assets? (может действительно что-то не так делаю, хотя друзья через google диск загружают).
Re: Урок 35. SQLite. Методы update и delete с указанием усло
зачем загружать бд, если вам нужна начальная бд с какими то значениями то почему бы не создать её программно и не заполнить её
честно не встречал что бы подгружали бд как обычный файл, но думаю метод ничем не отличается от обычного файла. Есть вариант что возможно выставляются права на файл которые не позволяют с ним работать или же файл бд не туда становится, как вариант попробуйте обратится к бд не как к бд а как к обычному файлу, то есть проверить его на существование
честно не встречал что бы подгружали бд как обычный файл, но думаю метод ничем не отличается от обычного файла. Есть вариант что возможно выставляются права на файл которые не позволяют с ним работать или же файл бд не туда становится, как вариант попробуйте обратится к бд не как к бд а как к обычному файлу, то есть проверить его на существование
Код: Выделить всё
File file = new File("path");
if(file.exists())
Log.i("check", "true");
else
Log.i("check", "false);
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 35. SQLite. Методы update и delete с указанием усло
rezak90, может не внятно объяснила сначала, просто голова уже кипит с этой базой...
Вот такая запутанная история.
Может ещё что-нибудь придёт на ум?
Буду благодарна.
Дело в том, что база у меня очень большая (около 8 метров).зачем загружать бд, если вам нужна начальная бд с какими то значениями то почему бы не создать её программно и не заполнить её
Тут ведь какая история - тогда и на других компьютерах он бы вёл себя точно также (а я ведь проект передаю, то есть всё по последней скобки).Есть вариант что возможно выставляются права на файл которые не позволяют с ним работать или же файл бд не туда становится
Думаю что вряд ли в этом дело, потому как если смотреть в File Exploer то там по известному пути отображается БД, правда весит 0.как вариант попробуйте обратится к бд не как к бд а как к обычному файлу, то есть проверить его на существование
Вот такая запутанная история.
Может ещё что-нибудь придёт на ум?
Буду благодарна.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
тогда покажите как копируете, потому что примеров куча с копированием бд из ассетса
как вариант попробуйте скачать другой эклипс и с него сделать апк, возможно всё в ней если везде нормально компилится а у вас нет
как вариант попробуйте скачать другой эклипс и с него сделать апк, возможно всё в ней если везде нормально компилится а у вас нет
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 35. SQLite. Методы update и delete с указанием усло
rezak90, подскажите, может просто чего-нибудь не хватает в эклипсе, там драйверов каких или библиотеки либо вообще на компьютере? Эклипс я уже два раза переустанавливала ((.
Весь код писать не буду, а непосредственно копирование вот так делаю
Весь код писать не буду, а непосредственно копирование вот так делаю
Код: Выделить всё
private void copyDataBase() throws IOException {
// Открываем поток для чтения из уже созданной нами БД
// источник в assets
Log.e("myTag", "Начинается копирование базы данных");
InputStream externalDbStream = context.getAssets().open(DB_NAME);
// Путь к уже созданной пустой базе в андроиде
String outFileName = DB_PATH + DB_NAME;
// Теперь создадим поток для записи в эту БД побайтно
OutputStream localDbStream = new FileOutputStream(outFileName);
// Собственно, копирование
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = externalDbStream.read(buffer)) > 0) {
localDbStream.write(buffer, 0, bytesRead);
}
// Мы будем хорошими мальчиками (девочками) и закроем потоки
localDbStream.close();
externalDbStream.close();
}
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Вообще делалось всё вот по этому примеру http://idev.by/android/145/ из лога всплывают следующие строки, , , , а это уже на другое Activity ссылается, где собственно эта база и должна использоваться . SELECT local FROM android_meta_data failed вот начиная с этой строки жалуется что не может найти meta_data...
01-16 07:28:38.585: E/Database(308): Failed to setLocale() when constructing, closing the database
01-16 07:28:38.585: E/Database(308): android.database.sqlite.SQLiteException: no such table: android_metadata
01-16 07:28:38.585: E/Database(308): at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method)
01-16 07:28:38.585: E/Database(308): at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:1950)
01-16 07:28:38.585: E/Database(308): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1818)
Знаю, что система сама создает эту таблицу в каждой базе, но у меня она создана непосредственно в БД.
Код: Выделить всё
openDataBase();
Код: Выделить всё
throw new Error("Error copying database");
Код: Выделить всё
createDataBase();
Код: Выделить всё
boolean dbExist = checkDataBase();
Код: Выделить всё
dbOpenHelper1 = new ExternalDbOpenHelper(context, DB_NAME);
01-16 07:28:38.585: E/Database(308): Failed to setLocale() when constructing, closing the database
01-16 07:28:38.585: E/Database(308): android.database.sqlite.SQLiteException: no such table: android_metadata
01-16 07:28:38.585: E/Database(308): at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method)
01-16 07:28:38.585: E/Database(308): at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:1950)
01-16 07:28:38.585: E/Database(308): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1818)
Знаю, что система сама создает эту таблицу в каждой базе, но у меня она создана непосредственно в БД.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 35. SQLite. Методы update и delete с указанием усло
О,да!! Сегодня удалила уже эту мета_дату, всё равно конечно не работает, но теперь в /data/data/%s/database появился хоть какой-то вес. Конечно потом АПК можно и с другого компьютера скомпилировать (есть ведь такие на которых работает прекрасно!!), просто уже жУУть как интересно в чём же здесь проблема
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Если указать в поле id не цифры, а буквы, или float число - приложение упадет.
А в целом по теории работы с БД, осуществляя выборку по ID или иные действия по ID - нужно приводить переменную к INT и после проверять на 0. Тогда не надо проверять на пустоту, и нет возможности для Injection.
А в целом по теории работы с БД, осуществляя выборку по ID или иные действия по ID - нужно приводить переменную к INT и после проверять на 0. Тогда не надо проверять на пустоту, и нет возможности для Injection.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
А зачем вообще все это делать, если есть возможность поставить autoinc?lstaticl писал(а):Если указать в поле id не цифры, а буквы, или float число - приложение упадет.
А в целом по теории работы с БД, осуществляя выборку по ID или иные действия по ID - нужно приводить переменную к INT и после проверять на 0. Тогда не надо проверять на пустоту, и нет возможности для Injection.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 35. SQLite. Методы update и delete с указанием усло
А причем здесь автоинкремент? Речь о выборках из БД, а не о вставке... мой камент касается урока.Olivka писал(а):А зачем вообще все это делать, если есть возможность поставить autoinc?
-
- Сообщения: 18
- Зарегистрирован: 02 июл 2012, 03:16
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Я вроде как понимаю. Но повторить пока вряд ли смогу. Это нормально? или надо все прям детально разбирать? или потом придет?:)
Re: Урок 35. SQLite. Методы update и delete с указанием усло
писать, писать, и как можно больше писать кода и тогда будет понятноxolostyak_by писал(а):Я вроде как понимаю. Но повторить пока вряд ли смогу. Это нормально? или надо все прям детально разбирать? или потом придет?:)
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена