【问题标题】:How to access data base in asset folder for android?如何访问android资产文件夹中的数据库?
【发布时间】:2013-07-14 04:45:09
【问题描述】:

您好,我有单独的数据库和表格。我需要将该数据库放入/保存到我的资产文件夹中。然后我想从我存储在我的资产文件夹中的数据库中获取数据。任何机构都可以告诉我我该怎么做?提前致谢。

【问题讨论】:

  • 在运行时将数据库从资产文件夹复制到应用数据文件夹

标签: android sqlite android-assets


【解决方案1】:

根据我的搜索,首先我们必须复制我们的数据库并将其粘贴到我们的资产文件夹中。 然后点击这个链接http://android-vogue.blogspot.in/2011/04/how-to-get-data-in-listview-from-assets.html我们将访问数据库。我是通过这种方式做到的。一切顺利。

【讨论】:

    【解决方案2】:

    无法直接从资产文件夹中读取数据库,因此您必须复制数据库,例如复制到应用程序存储中。像这样定义路径

        private static String DB_PATH = "/data/data/com.yourpackage.package/databases/";
    private static String DB_NAME = "yourdatabase.dat";
    

    使用这种方法,它应该可以复制:

       private void copyDataBase() throws IOException
    {
    
        InputStream mInput = mContext.getResources().getAssets().open(DB_NAME);
    
        String outFileName = DB_PATH + DB_NAME;
    
        File createOutFile = new File(outFileName);
        if(!createOutFile.exists()){
            createOutFile.mkdir();
        }
        OutputStream mOutput = new FileOutputStream(outFileName);
        byte[] mBuffer = new byte[1024];
        int mLength;
        while ((mLength = mInput.read(mBuffer))>0)
        {
            mOutput.write(mBuffer, 0, mLength);
        }
        mOutput.flush();
        mOutput.close();
        mInput.close();
    }
    

    但是你必须创建一个数据库类,就像你想创建一个新数据库时所做的那样。这超出了这里的框架,但应该给你一个从哪里开始的方向。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多