Android conexión SQLite en Unity
Muchas veces la conexion de SQLite con Unity es muy fácil de hacer pero cuando exportamos a Android no nos funciona; eso se da por el simple hecho de no agregar una librería propia de Android SQLite.
Ahora vamos a necesitar agregar como muestra la siguiente figura las librerias dentro de Assets/Plugins/DataBase:
Ahora vamos a necesitar agregar como muestra la siguiente figura las librerias dentro de Assets/Plugins/DataBase:
Primero descargamos la librería SQLite x64 (Click Aquí), extraemos el archivo y solo copiamos el archivo sqlite3.dll dentro de Assets/Plugins/DataBase como esta en la figura anterior.
Segundo descargamos la librería SQLite Android (Click Aquí), y solo pasamos el archivo a la carpeta Assets/Plugins/DataBase/Android como muestra la figura anterior.
Por último asegurate de copiar el archivo de la base de datos a Assets/StreamingAssets
Ahora viene la parte de codificar para que tu base de datos funcione correctamente en dispositivos Android.
using Mono.Data.Sqlite;
using System.Data;
using System.IO;
using UnityEngine;
using UnityEngine.Networking;
public class SQLite : MonoBehaviour
{
private string uri;
private IDbConnection connection;
private UnityWebRequest loadFile;
public void Connect()
{
uri = Application.persistentDataPath + "/Plugins/DataBase/data.db";
CheckDataBaseFile();
try
{
connection = (IDbConnection)new SqliteConnection("URI=file:" + uri);
}
catch (SqliteException e)
{
Debug.Log(e.Message);
}
}
void CheckDataBaseFile()
{
try
{
if (!Directory.Exists(uri.Remove(uri.LastIndexOf("/"))))
{
Directory.CreateDirectory(uri.Remove(uri.LastIndexOf("/")));
}
if (!File.Exists(uri))
{
StartCoroutine("CreateFile");
}
}
catch (IOException e)
{
Debug.Log(e.Message);
}
}
IEnumerator CreateFile()
{
loadFile = UnityWebRequest.Get(Path.Combine(Application.streamingAssetsPath, uri.Substring(uri.LastIndexOf("/") + 1)));
yield return loadFile.SendWebRequest();
try
{
File.WriteAllBytes(uri, loadFile.downloadHandler.data);
}
catch (IOException e)
{
Debug.Log(e.Message);
}
}
}
Comentarios
Publicar un comentario