进出口创造了我的空气下面的函数内的sqlite的分贝Android应用:如何防止Air for android SQLite数据库被覆盖?
protected function createDatabase():void{
_sqlConnection = new SQLConnection();
_sqlConnection.addEventListener(SQLEvent.OPEN, openHandler);
_sqlConnection.addEventListener(SQLErrorEvent.ERROR, errorHandler);
var _sqlFolder:File = File.applicationStorageDirectory;
var _sqlFile:File = _sqlFolder.resolvePath("RouteLog.db");
_sqlConnection.open(_sqlFile);
}
我可以成功地创建表,插入和选择,但每一次我从闪存CS5.5的重新发布应用程序数据库被覆盖并且所有数据都丢失。完全难住,欢迎任何想法!
干杯
[编辑]
所以,我通过USB发布调试直接从Flash Pro中释放。当应用程序被初始化它调用上述方法,使用下面的SQL语句
var SQL:String =
"CREATE TABLE IF NOT EXISTS myRoutes (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"name STRING, " +
"created DATE, " +
"duration NUMBER, " +
"waypoints OBJECT, " +
"avgSpeed NUMBER, " +
"distance NUMBER, " +
"rating NUMBER" + ")";
然后我可以运行一些操作,插入,选择等,并如预期的一切接受它创建一个表的OPEN事件。如果我退出并重新播放应用程序,则以前的数据集完好无损,但是当我从闪存重新发布时,以前版本中存储的任何数据都消失了。
根据文档SQLConnection.open()将打开在参数提供的文件的连接,如果它不存在,它会创建一个...
更多的代码可能会给你一个答案,因为你甚至没有显示你如何访问/分配数据。 – 2012-02-15 00:41:11
这并不重要。他说实际的文件被覆盖在应用程序的applicationStorageDirector中。 – Aaron 2012-02-15 02:46:04