在U3D中使用Sqlite做配置数据存取的靠谱做法
来源:互联网 发布:java和python都掌握 编辑:程序博客网 时间:2024/04/27 23:44
这几天为了做这个,在网上查了很多资料,其实都是不靠谱的,大多数人都是复制粘贴来教育别人,误导子民。。。。
在iphone和android下都亲自调试过了,我这个比较靠谱:
怎么使用sqlite网上到处都是,现在只讲两点网上没怎概括到的坑。
一、怎么让手机能使用sqlite
二、怎么在打包时将db文件放在合适位置,然后代码里怎么加载到合适的路径。
三、怎么把策划的csv转换成sqlite db
操作方法:
在Assets目录下新建Plugins,把Mono.Data.dll、Mono.Data.Sqlite.dll、System.Data.dll放到这层目录下,然后在这层目录下建立Android,再将libsqlite3.so放到Android目录下,最后再在这个Android目录下创建assets目录,然后将.db文件放于此,如果是苹果包则在Assets目录下创建StreamingAssets目录,把db放到这个下面,我试过各种路径存放和试剥离不需要的dll,都不行,必须按我这个方法搞,我搞了几天才摸索出来的啊,至于怎么把csv转换到db里去,方法如下:
D:\Sqlite3>sqlite3.exe CangLong.db
sqlite> .separator ','
sqlite> .import Skill.csv Skill
加载部分的代码:
void Start ()
{
Instance = this;
if (Application.platform == RuntimePlatform.WindowsEditor || Application.platform == RuntimePlatform.OSXEditor)
{
LocalDBFullPath = Application.dataPath + "/Plugins/Android/assets/" + DBTableStruct.DBName;
}
else
{
if (Application.platform == RuntimePlatform.Android)
{
LocalDBFullPath = Application.persistentDataPath + "/" + DBTableStruct.DBName;
if (!File.Exists(LocalDBFullPath))
{
WWW loadDB = new WWW("jar:file://" + Application.dataPath + "!/assets/" + DBTableStruct.DBName);
while (!loadDB.isDone) { }
File.WriteAllBytes(LocalDBFullPath, loadDB.bytes);
}
}
else
{
if (Application.platform == RuntimePlatform.IPhonePlayer)
{
LocalDBFullPath = Application.dataPath +"/Raw/" + DBTableStruct.DBName;
if(!File.Exists(LocalDBFullPath))
{
NGUIDebug.Log("Not Exists db !!!!!!");
return;
}
}
else
{
LocalDBFullPath = "";
}
}
}
//NGUIDebug.Log (LocalDBFullPath);
LoadDbToCache(LocalDBFullPath);
}
我的环境是:unity 4.3 sqlite3 android
sqlite3下载:http://pan.baidu.com/s/1jGoRlP0
我已经打配置好的文件放在网盘,自己下载:
http://pan.baidu.com/s/1ntDN7nz
- 在U3D中使用Sqlite做配置数据存取的靠谱做法
- Android:使用SQLite存取数据
- 使用pycassa 在cassandra中存取数据
- (Android学习笔记二)AChartEngine的使用以及在sqlite中存取DATETIME!
- (Android学习笔记二)AChartEngine的使用以及在sqlite中存取DATETIME!
- Android的Sqlite中DateTime类型数据的存取问题
- Android的Sqlite中DateTime类型数据的存取问题
- 关于sqlite中图片数据的存取问题
- SQLite数据库的使用(图片在数据库中的存取)
- Android:在sqlite中存取时间
- 使用ADO实现vc中二进制文件数据的存取(以图像在数据库中的存取为例)
- 使用ADO实现vc中二进制文件数据的存取(以图像在数据库中的存取为例)
- 在PHP中使用memcached存取Session数据
- 使用VS2010编译sqlite和在VS2010中配置使用sqlite的简单例子演示
- SQLite存取二进制数据
- U3D中使用XML配置表
- 做个标记,在Android中使用网络下载的sqlite文件
- 一个在unity3d中使用Excel做配置的解决方案
- C/C++中基本数据类型在内存中是如何存储的
- jQuery获取动态生成的元素
- 数据清洗与收集week2
- ubuntu elipse配置NDK
- chm已取消到该网页的导航
- 在U3D中使用Sqlite做配置数据存取的靠谱做法
- Android通过注解初始化View
- [[NSBundle mainBundle] infoDictionary]
- java回调方法
- 从摆地摊到全球网商10强
- 宝马汽车528i间歇性熄火的故障诊断与排除
- Window Mobile map solutions
- 通联支付再签FineReport建预付卡系统
- Spark1.0.0 开发环境快速搭建