首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

安卓创建数据库有关问题

2013-06-19 
安卓创建数据库问题程序开始的时候要创建一个数据库,然后还要建立表,表里面插入几条内容.我看网上的例子都

安卓创建数据库问题
程序开始的时候要创建一个数据库,然后还要建立表,表里面插入几条内容.
我看网上的例子都是写一个类,然后把数据库名字和表名字写在里面,然后每次new的时候都会创建.这样合理吗?能不能把创建数据库和表名的逻辑写另外一个单独的函数里面啊? 然后每次启动的时候就先检查数据库是否存在,表是否存在,不行就创建?


还有能把apk里面自带的数据库拷贝到手机的数据库目录吗?这样我觉得就省事了.但是网上找不到怎么拷贝的方法...
[解决办法]

引用:
另外我要建立两个表,两个表还有关联,如果每个表建立一个类,在类里面创建表的话,怎么把他们关联上啊...
小弟对数据库比较菜,希望高手多多帮助.谢谢了.
表的关联和类创建的类没有关系的,是表里点的列名有关,

比如有两个表:
表一包含:名字,学号,身高,性别,年龄;
表二包括:学号,成绩;

则,这两个表就可以通过学号连接起来;
[解决办法]
可以拷贝到data/data/...../databases/,你在adb shell下面看一下文件有没有过去
[解决办法]
引用:
Quote: 引用:

推荐你还是把db文件写在assets里面,然后写入手机里。
db写入你的文件的方法


private void dbImport()
    {
        try
        {
            File dir = new File(DATABASE_PATH);
            // 如果/sdcard/testdb目录中存在,创建这个目录
            if (!dir.exists())
                dir.mkdir();
            // 如果在/sdcard/testdb目录中不存在
            // test.db文件,则从asset\db目录中复制这个文件到
            // SD卡的目录(/sdcard/testdb)
            if (!(new File(databaseFilename2)).exists())
            {
//                File f = (new File(databaseFilename2));
//                f.delete();
                // 获得封装testDatabase.db文件的InputStream对象
                AssetManager asset = getAssets();
                InputStream is = asset.open("db/eneverydaymyword.db");
                FileOutputStream fos = new FileOutputStream(databaseFilename2);
                byte[] buffer = new byte[1048576];
                int count = 0;
                // 开始复制testDatabase.db文件


                while ((count = is.read(buffer)) > 0)
                {
                    fos.write(buffer, 0, count);
                }
                fos.close();
                is.close();
                // asset.close();
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        // deleteDatabase("testDatabase.db");//删除数据库
    }




请问我要是想把assert里面的数据库拷贝到我这个应用的那个目录 就是 data/data/...../databases/ 这个目录好像有权限 没法看见 拷贝的过去吗?

我记得是可以拷贝到自己的包里去,如果不行也可以写入sd卡。

热点排行