1

在 Unity3d 中,有两种方法可以在构建中包含文件: 1. 通过声明成员变量来公开对资产的引用,然后在检查器中分配它 2. 将资产放在“资源”文件夹中,然后通过以下方式加载它们Resources.Load http://docs.unity3d.com/Documentation/ScriptReference/Resources.html

我选择了第二个变体。我在 TextAsset 中加载的 myDB.bytes。TextAsset db = Resources.Load("myDB");

现在我想使用 sqlite API 连接到这个数据库。但我只能使用文件名连接到文件,或者在内存中创建新数据库。如何使用现有的 TextAsset 实例将其用作 sqlite 数据库?

4

3 回答 3

0

这可能会有所帮助。您需要导入数据包。

http://answers.unity3d.com/questions/188334/unity-sql-database.html

于 2013-04-12T11:35:24.730 回答
0

我有一个解决方案。将 Application.dataPath 中的 TextAsset 保存为数据库,并使用文件路径。

FileStream fs = File.Open(Application.dataPath + "/db.bytes", FileMode.Create);
BinaryWriter binary = new BinaryWriter(fs);
binary.Write(dbTextAsset.bytes);
fs.Close();

sqlite3_open(Application.dataPath + "/db.bytes".....
于 2013-04-12T11:53:40.990 回答
0

由于这是 Google 提供的热门搜索结果之一:

将您的数据库放在文件夹Assets/StreamingAssets中。

使用Application.streamingAssetsPath引用它。

database_path = "URI=file:" + Application.streamingAssetsPath + "/" + database_name;
using (var connection = new SqliteConnection (database_path)) {
            connection.Open();
            //...
}

参考:https ://docs.unity3d.com/Manual/StreamingAssets.html


您可能还想查看https://ornithoptergames.com/how-to-set-up-sqlite-for-unity/以获取有关如何从脚本访问数据库的信息。

于 2018-05-21T12:58:45.857 回答