连接到Android上的SQLite。统一C#
该项目是用C#Unity与Android平台的SQLite联合编写的。该项目的本质是根据需要从数据库输出数据。数据库存储在项目文件夹中。问题是,一切都在Unity中工作,但当您在Android上运行应用程序时,应用程序看不到数据库,无法执行查询。有人怀疑数据库的路径指定不正确。我被告知要解决这个问题,在指定路径之前,添加一行:连接到Android上的SQLite。统一C#,c#,database,sqlite,android-sqlite,C#,Database,Sqlite,Android Sqlite,该项目是用C#Unity与Android平台的SQLite联合编写的。该项目的本质是根据需要从数据库输出数据。数据库存储在项目文件夹中。问题是,一切都在Unity中工作,但当您在Android上运行应用程序时,应用程序看不到数据库,无法执行查询。有人怀疑数据库的路径指定不正确。我被告知要解决这个问题,在指定路径之前,添加一行:filepath=“URI=file:”+filepath。但这并不适用于所有情况。下面是连接到数据库以供查看的代码 public class SQLiteDB {
filepath=“URI=file:”+filepath代码>。但这并不适用于所有情况。下面是连接到数据库以供查看的代码
public class SQLiteDB
{
public SqliteConnection connection;
public SqliteCommand command;
private string database = "V2.db";
public void SQLiteDBConnect()
{
#if UNITY_EDITOR
var filepath = string.Format($"Data Source={database}");
#else
var filepath = string.Format($"{Application.persistentDataPath}/{database}");
#endif
#if UNITY_ANDROID
if (!File.Exists(filepath)) {
var loadDb = new WWW("jar:file://" + Application.dataPath + "!/assets/streamingassets/" + database);
while (!loadDb.isDone) {};
File.WriteAllBytes(filepath, loadDb.bytes);
}
#endif
connection = new SqliteConnection(filepath);
}
public void ConnectionOpen()
{
connection.Open();
}
public void ConnectionClose()
{
connection.Close();
}
}
}