進出口創造了我的空氣下面的函數內的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