zoukankan      html  css  js  c++  java
  • U3D 数据在安卓设备上的存储,加载

    存储和加载:

    public void ConnectToSqlite (string DBName)
        {   //判断名字是否规范,如果不规范就加上后缀
            if (!DBName.Contains (".sqlite")) {
                DBName += ".sqlite";
            }
            //如果运行在编辑器中
            #if UNITY_EDITOR
            //获取路径
            sqlitePath = "Data Source =" + Application.streamingAssetsPath + "/" + DBName;
            //实例连接对象
            connection = new SqliteConnection (sqlitePath);
            //如果运行在Android设备中
            #elif UNITY_ANDROID
            //数据库连接的字符串
            string connectionStr = "URI = file:" + Application.persistentDataPath + "/" + DBName;
            //Android APK中数据库文件的路径
            string androidPath = "jar:file://" + Application.dataPath + "!/assets/" + DBName;
            //Android沙盒路径
            string androidFilePath = Application.persistentDataPath + "/" + DBName;
            //如果Android项目源文件中不存在数据库文件,说明没有加载过,需要加载
            if(!File.Exists(androidFilePath))
            {
            //从APK路径拿到Sqlite数据库文件,下载
            WWW www = new WWW(androidPath);
            //下载未完成时,保持等待
            while(!www.isDone){}
            //下载完成,IO流写入到沙盒路径
            File.WriteAllBytes(androidFilePath, www.bytes);
            }
            //实例连接对象
            connection = new SqliteConnection(connectionStr);
            #endif  
    
            //创建数据库命令对象
            command = connection.CreateCommand ();
            try {
                //打开数据库
                connection.Open ();
            } catch (System.Exception ex) {
                //输出报错信息
                print (ex);
            }
        }
  • 相关阅读:
    C#中的abstract、virtual、interface关键字
    tsql字符串截取
    C# byte换算
    apple-mobile-web-app-capable
    Content-Security-Policy
    sqlserver建立连接服务器
    20 ViewPager Demo4自动轮播
    20 ViewPager Demo3指示器
    20ViewPager demo1,2:接收ViewPager展示View的使用
    有没有最好的学习Angularjs2的视频入门体验?
  • 原文地址:https://www.cnblogs.com/zpy1993-09/p/11880178.html
Copyright © 2011-2022 走看看