博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Unity】SQLite发布到Android端遇到的那些坑
阅读量:4086 次
发布时间:2019-05-25

本文共 1954 字,大约阅读时间需要 6 分钟。

发布到Android端需要添加libsqlite3.so文件,和相应的

Mono.Data.Sqlite.dll、sqlite3.dll、System.Data.dll类库
注意:所有文件放到Plugins文件夹下,libsqlite3.so放在Android文件夹下

*在Player Setting里的(安卓选项中) OtherSettings里有个Optimization 下边的API Compatbility Level 选择.NET 2.0(否则会出现System.Data.dll打包失败的情况,至于为什么,我也不知道,没研究过,从国外大神那里得知的...)

using UnityEngine;using System.Collections;using Mono.Data.Sqlite;using UnityEngine.UI;using System.IO;public class AndroidLoadData : MonoBehaviour {	private Text name;	private Text score;	// Use this for initialization	void Start () {		name = GameObject.Find ("name").GetComponent
(); score = GameObject.Find ("score").GetComponent
(); ConnectionDataBase (); } public void ConnectionDataBase() { // 【沙盒路径】 string sandboxPath = Application.persistentDataPath + "/Data0118.sqlite"; // 【用于www下载数据库的路径】表示的就是unity工程中StreamingAssets中的数据库文件 // 打包成APK安装包之后,就是下面的地址 string downPath = "jar:file://" + Application.dataPath + "!/assets" + "/Data0118.sqlite"; // 【安卓端】判断沙盒路径是否存在数据库文件 // 如果不存在,就从StreamingAssets文件夹中下载数据库 if (!File.Exists(sandboxPath)) { Debug.Log ("执行到此,表示沙盒路径中不存在 Data0118.sqlite 文件"); // 不存在数据库文件的时候,有两种创建方式 // 1.使用sqlite代码,手动创建,如果数据量过大,不适合代码的书写 // 2.通过下载的方式,去其他的目录下载,然后保存到沙盒路径 WWW www = new WWW (downPath); // 如果数据没有下载完成,就不能继续执行后面的代码 while (!www.isDone) { } // 将www下载得到的所有数据,都保存到sandboxPath目录下 File.WriteAllBytes (sandboxPath, www.bytes); } // 链接沙盒路径中的数据库文件 string dataSandboxPath = "URI = file:" + Application.persistentDataPath + "/Data0118.sqlite"; SqliteConnection con = new SqliteConnection (dataSandboxPath); // 打开数据库 con.Open (); // 创建数据库命令 SqliteCommand com = con.CreateCommand (); // 数据库命令的具体内容 com.CommandText = "select name from MyTable where name = 'XiXi'"; // 执行数据库命令 name.text = com.ExecuteScalar ().ToString(); // 给数据库命令赋值 com.CommandText = "select score from MyTable where name = 'XiXi'"; // 执行数据库命令 score.text = com.ExecuteScalar ().ToString (); // 关闭数据库 con.Close (); }}

转载地址:http://kbkii.baihongyu.com/

你可能感兴趣的文章
所谓的进步和提升,就是完成认知升级
查看>>
如何用好碎片化时间,让思维更有效率?
查看>>
No.182 - LeetCode1325 - C指针的魅力
查看>>
带WiringPi库的交叉笔译如何处理二之软链接概念
查看>>
Java8 HashMap集合解析
查看>>
自定义 select 下拉框 多选插件
查看>>
Linux常用统计命令之wc
查看>>
fastcgi_param 详解
查看>>
搞定Java面试中的数据结构问题
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
Winform多线程
查看>>
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
《计算机网络》第五章 运输层 ——TCP和UDP 可靠传输原理 TCP流量控制 拥塞控制 连接管理
查看>>
生产者消费者模型,循环队列实现
查看>>
获得github工程中的一个文件夹的方法
查看>>
《PostgreSQL技术内幕:查询优化深度探索》养成记
查看>>
PostgreSQL查询优化器详解之逻辑优化篇
查看>>
STM32中assert_param的使用
查看>>
字符串的截取
查看>>