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,就可以不用修改代码,直接发布不同平台版本了