I'm using the Sqlite as Unity Game database and works on Unity Editor, but when I build to Android Devices the Game can't access the database, what can I do to make the script works also on Android Devices ?
Programs/Versions used:
- Unity 5.3.1f1
-Sqlite Precompiled Binaries for Windows 64 (sqlite-dll-win64-x64-3100200.zip (688.01 KiB))
Folder Structure:
-- Assets/Database/MyDataBase.db
-- Assets/Scripts/PerguntaScript.cs
-- Assets/Plugins/Mono.Data.Sqlite.dll
-- Assets/Plugins/sqlite3.def
-- Assets/Plugins/sqlite3.dll
-- Assets/Plugins/System.Data.dll
PerguntaScript.cs (Script that access the Sqlite database)
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System;
using System.Data;
using Mono.Data.Sqlite;
public class PerguntaScript : MonoBehaviour {
private string connectionString;
void Start () {
connectionString = "URI=file:" + Application.dataPath + "/Database/DoencasDB.db";
}
private void GetPergunta(){
using(IDbConnection dbConnection = new SqliteConnection(connectionString)){
dbConnection.Open();
using(IDbCommand dbCommand = dbConnection.CreateCommand()){
string sqlQuery = "SELECT * FROM " + sqliteTabelasPerguntas[sqliteIndexTabelaPergunta] + " WHERE doenca_id=@id LIMIT 1";
dbCommand.Parameters.Add(new SqliteParameter("@id", doencaId));
dbCommand.CommandText = sqlQuery;
using(IDataReader reader = dbCommand.ExecuteReader()){
while(reader.Read()){
pergunta = reader.GetString(1);
alternativasId[0] = reader.GetInt32(3);
alternativasId[1] = reader.GetInt32(4);
alternativasId[2] = reader.GetInt32(5);
alternativasId[3] = reader.GetInt32(6);
alternativaCorretaId = reader.GetInt32(7);
}
dbConnection.Close();
reader.Close();
}
}
}
}
Aucun commentaire:
Enregistrer un commentaire