unity 连接 android 数据库 sqlite 解决方案

这篇教程详细介绍了如何在Unity中连接并使用Android设备上的SQLite数据库。首先,需要将sqlite3.dll和Mono.Data.Sqlite.dll放入Assets/Plugins目录,libsqlite3.so放入Assets/Plugins/Android。然后,根据平台不同设置数据库路径,例如在Unity编辑器中使用Application.dataPath,在Android设备上使用Application.persistentDataPath。此外,教程还展示了如何通过WWW加载数据库文件并写入本地。最后,使用SqliteConnection建立数据库连接。本文适用于Unity开发者解决Android数据库集成问题。

unity 连接 android 数据库 sqlite 解决方案

被网上各种转来转去的教程烦死了……如果你们看到这个教程我就默认你们运气好吧。

1、unity配置内容

你需要sqlite3.dll ,Mono.Data.Sqlite.dll,两个。一般来说你已经绝望地找到我这个教程的时候,这两个个东西你应该都搞到了,如果没搞到,就自己去找找教程。

将这两个放在unity的Assets/Plugins下,没有这个文件夹就创建一个。

紧接着你需要libsqlite3.so,将它放在Assets/Plugins/Android下,如果没有这个文件夹就创建一个。并且按我下面的图片来修改这东西的配置。

将一个在电脑上已经创建好的数据库放在Assets/Plugins/Android/asstes下,当然如果你想用SqliteConnection.CreateFile我也不反对,你可以自己尝试。

最后你的配置大概是这个样子:

红色的别管
抄就好了

2、数据库构造

看得懂看不懂随缘吧,但是就是这样实现的

public SQLiteHelper(string strs)
    {
        string dataSandBoxPath="";

#if UNITY_EDITOR
//这玩意表示当在unity运行时
        dataSandBoxPath = "data source="+ Application.dataPath +"/DataSave" + strs + ".db";
        //文件名字自己起
#endif

#if UNITY_ANDROID
        //安卓上运行时
        dataSandBoxPath =  Application.persistentDataPath + "/DataSave" + strs + ".db";
        //这是你安卓的路径
        if (!Directory.Exists(Application.persistentDataPath))
        {
            Directory.CreateDirectory(Application.persistentDataPath);
        }
#endif
        
        try
        {
            WWW loadWWW = new WWW("jar:file://" + Application.dataPath + "!/assets/DataSave" + strs + ".db");
      
            if (!File.Exists(dataSandBoxPath))
            {
                while(!loadWWW.isDone)
                {
                //如果你用www创建数据库,这个不能省
                }

                File.WriteAllBytes(dataSandBoxPath,loadWWW.bytes);
                //自己研究
            }


#if UNITY_EDITOR
            dbConnection = new SqliteConnection(dataSandBoxPath);
#endif

#if UNITY_ANDROID
            dbConnection = new SqliteConnection("URI=file:" + dataSandBoxPath);
            //安卓的路径
#endif
            dbConnection.Open();


        }
        catch (Exception e)
        {
            
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值