- Home /
Unity 4 Android Game cannot access SQLite DB (C# Script)
I'm currently developing a simply android game and I'm using SQLite as a means to save the high scores in it. When I run it on the editor it works fine and is immediately able to access the data of the table inside it but whenever I have built it into an apk already and run it on my phone it doesn't work anymore. My speculations tell me that the problem is that a connection could not be established to the SQLite database that I added under Assets/StreamingAssets
Likewise I have done a whole bunch of researching already and still no luck. Here's the big bunch of libraries that I am currently using with all the methods possible that I have researched:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using System.Data;
using System.Configuration;
using System.EnterpriseServices;
using System.Security;
using System;
//using Mono.Data.Sqlite; (commented out as I thought SQLiteClient would be the fix)
using Mono.Data.SqliteClient;
I have referred to this guide initially: http://answers.unity3d.com/questions/743400/database-sqlite-setup-for-unity.html
as basis for the code for connecting it and it did work in the editor but not when running on my phone.
And here's all the connection methods that I have used so far but off to no success at all D:
string conn = "URI=file: jar:file://" + Application.dataPath + "/HighScores.s3db";
string conn = "URI=file:" + Application.dataPath + "/StreamingAssets" + "/HighScores.s3db";
string conn = "URI=file:" + "jar:file:" + Application.dataPath + "!/assets/" + "HighScores.s3db";
string conn = "URI = jar:file:" + Application.dataPath + "!/assets/" + "HighScores.s3db";
string conn = "URI = jar:file:" + Application.dataPath + "!/assets/" + "HighScores";
string conn = "URI=file:" + "jar:file://" + Application.dataPath + "!/assets/" + "HighScores.s3db";
string conn = "URI=file:" + "jar:file://" + Application.dataPath + "!/assets/" + "/HighScores.s3db";
string conn = "URI=file:HighScores.s3db"; //Path to database.
IDbConnection dbconn; dbconn = (IDbConnection) new SqliteConnection(conn); dbconn.Open(); //Open connection to the database.
I'm currently using the latest version of SqliteBrowser in order to make the database, create its tables, and populate it with sample data. It creates a file with no filetype and a .s3db file whenever I use its create database functionality. Both of which could have its different set of tables and data which is weird and confusing.
Answer by Mystes · May 16, 2015 at 05:46 PM
This problem is now Solved. This good guy here that posted this thread has clearly solved my problems using the most efficient way involving SQLite Queries :D
http://forum.unity3d.com/threads/unity-3d-android-sqlite-examples.114660/
You should look at this plugin http://u3d.as/content/devesh-pandey/sqlite-database
Your answer
Follow this Question
Related Questions
how to access and modify my existing database made by DB browser for SQLite in unity after build 0 Answers
Should I load all the database items on my android device? 1 Answer
why sqlite can't conneted after build in PC (.exe) 0 Answers
Sqlite RANDOM() function not working on Android? 0 Answers
Multiple Cars not working 1 Answer