【问题标题】:PhoneGap + android, Pre-populating database not working.PhoneGap + android,预填充数据库不起作用。
【发布时间】:2012-03-04 13:30:40
【问题描述】:

我正在创建一个 PhoneGap (android) 项目。在此,我通过读取文本文件来填充数据库表。 (假设我的包名称是 com.santu.jdictionary)。但是,当我尝试将此 0000000000000001.db 以及 Databases.db 文件复制到 /data/data/com.santu.jdictionary/app_database/file__0/ 文件夹时,出现错误。

 void copy(String file, String folder) throws IOException 
  {

   File CheckDirectory;
   CheckDirectory = new File(folder);
   if (!CheckDirectory.exists())
   { 
    CheckDirectory.mkdir();
   }

      InputStream in = getApplicationContext().getAssets().open(file);
      OutputStream out = new FileOutputStream(folder+file);

      // Transfer bytes from in to out
      byte[] buf = new byte[1024];
      int len; while ((len = in.read(buf)) > 0) out.write(buf, 0, len);
      in.close(); out.close();

  }

其次,我已经能够通过phoneGap插件成功地将这个文件复制到上述文件夹中,但是在复制之后PhoneGap也无法使用这个文件。 每当我尝试使用此代码打开数据库时,都会初始化一个新的 .db 文件(即 0000000000000002.db)

 db = window.openDatabase("database", "1.0", "JDictionary", 10000000);
 db.transaction(populateDB,errorCB, successCB);

那么我在哪里犯错了。

提前致谢。

老天爷

【问题讨论】:

  • 愚蠢的问题 - 但为什么不简单地以“正常”方式打开数据库,然后读取文本文件并初始化数据库?
  • 嗨,阿呆先生,我是说雷蒙德先生。
  • 嗯....认真的吗?我试图提供帮助。以这样的态度,我看不出你能得到多少帮助。
  • @RaymondCamden 他可能认为你在说他的问题很愚蠢,而不是你是那个问愚蠢问题的人
  • 啊,好吧,如果是这样,Santu,我绝对不是在说你笨。 ;)

标签: android database cordova populate


【解决方案1】:

我最终在 ::

中找到了灵魂

link

希望在这里发表评论的每个人都在尝试帮助他人之前阅读这篇文章

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多