Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接到Android上的SQLite。统一C#_C#_Database_Sqlite_Android Sqlite - Fatal编程技术网

连接到Android上的SQLite。统一C#

连接到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 {

该项目是用C#Unity与Android平台的SQLite联合编写的。该项目的本质是根据需要从数据库输出数据。数据库存储在项目文件夹中。问题是,一切都在Unity中工作,但当您在Android上运行应用程序时,应用程序看不到数据库,无法执行查询。有人怀疑数据库的路径指定不正确。我被告知要解决这个问题,在指定路径之前,添加一行:
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();
        }
    }
}