unity学习笔记之SQLite

SQLite配置

1、在Assets目录下创建Plugins目录,将Mono.Data.Sqlite.dll,System.Data.dll,sqlite3.dll三个文件放到工程Plugins目录下。
2、在Assets目录下创建StreamingAssets目录,把db放在该目录内。
3、将DbAccess.cs脚本添加到工程中。

安卓和iOS端要多一个步骤,在Plugins目录下建立安卓/iOS目录,再将libsqlite3.so放到目录下。

 

using Mono.Data.Sqlite;
using System.IO;

DbAccess db;
//数据库
string appDBPath;//数据库路径
appDBPath = Application.streamingAssetsPath +"/Test.db";
db = new DbAccess("URI=file:"+ appDBPath);
//创建、打开数据库
db.CloseSqlConnection();//闭数据库

Mono.Data.Sqlite.dll,System.Data.dll在unity安装目录中,libsqlite3.so和sqlite3.dll(有32位和64位)在网上下载

发布时的注意事项

在PlaySettings中修改Api Compatibility Level改成NET 2.0,如果不修改可能会报错。

在发布PC端时,对进行设置Architecture,如果是64位就选x86_64

预编译

//预编译,不同平台执行不同操作
#if UNITY_STANDALONE WIN || UNITY_EDITOR 
    appDBPath = Application.streamingAssetsPath +"/Test.db";
#elif UNITY_ANDROID || UNITY_IPHONE
    appDBPath = Application.persistentDataPath +"/Test.db";
    if(!File.Exists(appDBPath))
        //拷贝数据库
        StartCoroutine(CopyDataBase());
#endif
db = new DbAccess("URI-file:"+ appDBPath);

private IEnumerator CopyDataBase()
{
    WWW www = new WWW (Application. streamingAssetsPath + "/Test. db"); 
    yield return www;
    File. WriteAl1Bytes (appDBPath, www. bytes);
}

streamingAssets能在发布时打包,但不能读写

persistentData不发布,但能读写

自定义预编译

#if xx平台
//xx平台接口方法
#elif yy平台
//yy平台接口方法
#endif

发布不同版本时,在PlaySettings中修改Scripting Define Symbols,就可以不用修改代码,直接发布不同平台版本了

你可能感兴趣的:(unity)