Воскресенье, 28 Апреля 2024, 10:41

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Локальная БД для Androida
Локальная БД для Androida
YstasДата: Вторник, 20 Мая 2014, 19:02 | Сообщение # 1
был не раз
Сейчас нет на сайте
Добрый вечер.Мне потребуется для проекта локальная БД, на Android будет упакована в apk файл приложения. Вот ее нужно будет загрузить, надписанный скрипт куда нужно цеплять? И если есть наработки по использованию (загрузка бд, записать данные, вытянуть их) укажите пожалуйста, все буду рад.
RangerДата: Вторник, 20 Мая 2014, 20:53 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
Это поможет, но сам не пользовал.
Еще в камментах к материалу куча инфы.


YstasДата: Среда, 21 Мая 2014, 14:56 | Сообщение # 3
был не раз
Сейчас нет на сайте
Я эту статью и брал за основу, но все же не понимаю как подключить сборку using System.Data.Sqlite; собственно из за этого я и не могу пользоваться SqliteConnection().
seamanДата: Среда, 21 Мая 2014, 15:43 | Сообщение # 4
старожил
Сейчас нет на сайте
Не достаточная статья.
Посмотри тут:
http://devuni.tk/tutor/script-tutor/399-sqlite
YstasДата: Среда, 21 Мая 2014, 15:52 | Сообщение # 5
был не раз
Сейчас нет на сайте
seaman, Я и эту статью читал, там говориться о подключении sqlite, но вот взаимодействие ее с android совершенно ничего. Речь идет о sqlite3.dll ну а для андроида требуется sqlite.so. Вот в этом загвоздка.
atorisДата: Среда, 21 Мая 2014, 16:27 | Сообщение # 6
участник
Сейчас нет на сайте
Цитата Ystas ()
Я и эту статью читал, там говориться о подключении sqlite, но вот взаимодействие ее с android совершенно ничего. Речь идет о sqlite3.dll ну а для андроида требуется sqlite.so. Вот в этом загвоздка.

никаких длл или других библиотек подключать на андроиде не нужно, просто упаковываешь сам файл базы данных с таблицами sqlite в апк файл и работаешь с ним. в андроиде уже включена работа с sqlite. гдето месяц назад пробывал работать с базами данных на андроиде, все создается, редактируется и удаляется без проблем, правда я AIR приложение делал(flash), а не unity.


Вступайте в групу
YstasДата: Среда, 21 Мая 2014, 16:57 | Сообщение # 7
был не раз
Сейчас нет на сайте
atoris, Вы меня обрадовали, будем пробывать.
NEBRДата: Среда, 21 Мая 2014, 17:57 | Сообщение # 8
почти ветеран
Сейчас нет на сайте
SQLite отлично работает, но по моему там про андроид версия нужно для билда. В редакторе все отрабатывает, а когда билдишь - требует прошку.
И еще трабла у меня была, так и не смог русские строки вытаскивать из нее, с английскими проблем не было


King Size #Gamiron12
atorisДата: Среда, 21 Мая 2014, 18:17 | Сообщение # 9
участник
Сейчас нет на сайте
Цитата NEBR ()
так и не смог русские строки вытаскивать из нее, с английскими проблем не было

проблемма видно была в кодировке, у меня тоже была проблема с этим, но только тогда когда запись в бд была с помощью сторонних программ, а когда пользовался только одним инструментов(в моем случае AIR as3) то при записе и считывании кириллица нормально работала


Вступайте в групу
YstasДата: Понедельник, 26 Мая 2014, 19:42 | Сообщение # 10
был не раз
Сейчас нет на сайте
Провозился кучу времени с подключением, ткните носом, где запорол
Код
string connection = "URI=file:" + Application.dataPath + "/bd.sqlite";
            using (IDbConnection dbcon = (IDbConnection)new SqliteConnection(connection))
            {
                dbcon.Open();
                // Выбираем нужные нам данные
                var sql = "SELECT Name, Pol, Age FROM LichInfo";
                using (IDbCommand dbcmd = dbcon.CreateCommand())
                {
                    dbcmd.CommandText = sql; Debug.Log("5");
                    // Выполняем запрос
                    using (IDataReader reader = dbcmd.ExecuteReader())
                    {
                        // Читаем и выводим результат
                        while (reader.Read())
                        {
                            const string frmt = "Name: {0}; Pol: {1}; Age: {2};";
                            Debug.Log(string.Format(frmt,
                    reader.GetString(0),
                    reader.GetInt32(1),
                    reader.GetInt32(2)
                    ));
                        }
                    }
                }
                // Закрываем соединение
                dbcon.Close();
            }

Добавлено (24.05.2014, 13:26)
---------------------------------------------
Не открывает соединение dbcon.Open(); значит запорол с путем. И вот везде пишут по разному то ли писать Data Source то ли URI=file: не понятно...

Добавлено (24.05.2014, 16:01)
---------------------------------------------
Разобрался, проблема была в sqlite3.dll заменил его на стандартный из Unity/Editor и все работает

Добавлено (26.05.2014, 05:01)
---------------------------------------------
Так, кто там на андроиде базу юзал, подскажите где напортачил:

fileName = Application.persistentDataPath + "/db.bytes";
if (!File.Exists(fileName))
{
WWW loadDB = new WWW("jar:file://" + Application.dataPath + "!/assets/db.bytes");
while (!loadDB.isDone) { }
File.WriteAllBytes(fileName, loadDB.bytes);
}

Добавлено (26.05.2014, 19:42)
---------------------------------------------
Не удалось разрешить имя узла: jar:file; Нет записи данных из запрошенного типа

Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Локальная БД для Androida
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг