我有一个应用程序,它使用大量数据,这些数据已经在应用程序之外编译(在我的主PC上)。该应用程序是供我个人使用的,因此不必将数据更新分发给其他用户。但是,每次我想更新数据时,我都会遵循一个非常复杂且耗时的过程,我想知道是否有人可以提出任何方法来简化它。如何更新Android应用程序作为数据源使用的数据库
我按照每当我要添加新的数据的程序如下:
我输入新的数据到CSV文件,我维护的相关表的数据库源
我使用SQLite数据库浏览器将数据导入到现有的SQLite数据库中。 (这个程序似乎没有能力将导入的数据追加到现有的表中,所以无论何时表需要更新,我必须删除现有表,然后将数据从csv文件导入到新表中,然后手动编辑数据)
我将数据库文件的图标拖放到Eclipse项目的'assets'文件夹中。
我将Eclipse中的项目导出为apk文件。
我apk文件复制到我的手机
(使用天文文件管理器)我卸载旧版本的应用程序并安装新的APK。
当应用程序运行时,基于here示例的代码将数据从'assets'文件夹复制到应用程序的数据文件夹中;这意味着每个字节的数据在手机内存中占用两个字节;目前这不是问题,但可能随着数据量的增长;我想知道是否有更高效的内存方法?
我应该非常感谢任何指导。
感谢您的快速响应!是否直接从Eclipse上运行手机上的应用程序会从手机内部存储器中的应用程序数据文件夹擦除现有数据库?我发现使用模拟器时,我必须手动擦除数据。 – prepbgg 2010-08-04 15:04:30
这是一个很好的问题。我不完全确定。就像我说的,我没有真正处理Android中的任何数据库。我记得在程序运行时看到了一些擦除数据库的选项。看看你是否可以找到一些启动选项或类似的东西。我相信有一个复选框,您可以检查并告诉它清理数据库。 – Mike 2010-08-04 15:33:00
谢谢。这大概是我正在寻找的复选框。我希望我知道如何找到它! 但是,只要我想更新数据库,我仍然会在原始文章中列出所有其他繁琐的步骤。也许我可能会在我的应用程序中编写代码来添加一个菜单项来打包单个表并从SD卡上的文件读入新数据。肯定有更新数据的方式,而无需通过Eclipse? – prepbgg 2010-08-05 08:54:25