Corona Geek #47 – 在 Corona SDK 中处理数据

Corona Geek #47 – 在 Corona SDK 中处理数据

Corona Geek本周我们与 Brian Burton 博士Ed MaurinaMatthew ChapmanJen LooperMohammed BennoufTheo Rushin, Jr 一起探讨了 使用 SQLite 和 Corona SDK 存储和访问数据的示例代码。Burton 博士演示了一个代码示例,该示例检查本地 SQLite 数据库文件、连接到数据库并在 TableView 中显示数据。专家小组分享了很多精彩的问题和技巧。我们计划在未来的视频会议中讨论如何从远程源提取数据并将数据存储在本地数据库中。

务必购买 Burton 博士的著作“使用 Corona 开发移动应用程序和游戏入门”,其中提供了更多关于如何使用数据库和 Corona SDK 的示例。

Corona Labs T 恤获奖者

恭喜 David Freeman 赢得本周的 Corona Labs T 恤。要获得获奖机会,请在 TwitterFacebook 上关注 Corona Geek,并填写 Corona Geek 赠品表格

感谢您的观看,我们将在下周的 Corona Geek 视频会议中再见!

记得订阅

Charles McKeever
[email protected]

Charles McKeever 是一位终身计算机极客,他喜欢探索技术,了解它们的工作原理、如何将它们组合在一起以及如何利用它们来推动创业活动。

7 条评论
  • Matt Kauble
    发布于 08:13,7 月 26 日

    感谢您提供精彩的数据信息。我也很想获得 Jen 提到的解析教程的链接。有人有吗?

  • TDS
    发布于 21:40,8 月 29 日

    您好,
    关于 ResourceDirectory(RD) 传输位,有一个问题。

    正如 Brian 所说,Documents Directory(DD) 是你可以保存不受更新影响的数据的地方。

    我的问题 - 如果你通过此代码将 db 从 RD 传输到 DD;

    [lua]local path = system.pathForFile(“zip.sqlite”, system.DocumentsDirectory )
    file = io.open( path, “r” )
    if( file == nil )then
    — 不存在,因此从 Resource Directory 复制进来
    pathSource = system.pathForFile( “zip.sqlite”, system.ResourceDirectory )
    fileSource = io.open( pathSource, “rb” )
    contentsSource = fileSource:read( “*a” )
    –在 Documents Directory 中写入目标文件
    pathDest = system.pathForFile( “zip.sqlite”, system.DocumentsDirectory )
    fileDest = io.open( pathDest, “wb” )
    fileDest:write( contentsSource )
    — 完成
    io.close( fileSource )
    io.close( fileDest )
    end
    [/lua]

    那么,如果更改了下一个应用程序更新中包含的原始数据库中的数据会发生什么情况。
    此代码是否会说“哦,DD 中存在该文件,所以我将忘记 RD 中的 db 文件 - 因此不使用更新的 db??”

    谢谢
    TDS

    • DrBurton
      发布于 15:34,8 月 30 日

      @TDS,
      目前编写代码的方式是,是的,它会看到文件存在并且不会替换它。你可以修改代码,以便在数据库存在时检查版本号或其他字段,以确保它是最新的。
      我实际上正在开发一个使用版本字段来确保数据是最新的项目。

      • TDS
        发布于 22:08,9 月 2 日

        感谢您为我澄清这一点。是代码中说的这句话;

        — 数据库是否存在于 documents 目录中(允许更新和持久化)

        让我很困惑 - 我不是数据库专家,但是“允许更新..”以及查看 if 语句让我很困惑 - 我一直在查找“r”、“w”等术语,试图理解它。

        如果我在这里理解正确,你建议的是首先打开 RD 文件和 DD 文件,然后在每个文件的表格中都有一个版本号,然后检查 RD 的版本号是否更高,如果是,则复制(覆盖“w+”)DD,如果不是,则使用 DD 就可以。
        谢谢
        TDS

发表评论