簡體   English   中英

iOS AS3 AIR本地存儲

[英]iOS AS3 AIR local storage

我正在開發一個需要設備上具有SQL DB的應用程序。 我正在使用File.applicationStorageDirectory和folder.resolvePath添加新的數據庫。 在調試該應用程序時,一切看起來都像在正確執行,並且我能夠成功創建一個新表。

我在插入和讀取記錄方面還不算太過分,但是我只是想問一下,當我重新運行該應用程序時,現有的數據庫文件是否被替換為一個新的空文件? 如果是這樣,我需要檢查文件是否存在等。

如何查看設備上的數據庫(現階段為iOS)?

謝謝

試試這個

如果您使用resolvePath如果文件不存在,則為您創建文件,否則它將保持原樣。如果使用resolvepath,則覆蓋永遠不會發生。

要么

如果要通過以下方式檢查是否已經存在

        if(dbFile.exist) 
           trace('File already exists');

用這個

        var dbFile:File = new File("app-storage:/" + "localdb.db");
        sqlConnection = new SQLConnection();            
        sqlConnection.addEventListener(SQLEvent.OPEN, onAuthorDatabase_OpenHandler);
        sqlConnection.addEventListener(SQLErrorEvent.ERROR, onSQLErroHandler);
        sqlConnection.openAsync(dbFile);

我不知道如何在設備存儲位置(iOS)上查看db文件。

是的,它將被保存,您可以隨時訪問它。 這將適用於任何事物,而不僅僅是數據庫(因此通用名稱和對象類型)

var file:File = File.applicationStorageDirectory.resolvePath( "file.path" );
var obj:Object = { someRandom:"data" };
var fs:FileStream = new FileStream();
fs.open( file, FileMode.WRITE );
fs.writeObject( obj );
fs.close();

上面將把Object obj寫入設備。 請記住,這不會更新文件,它將覆蓋文件。 要更新文件,請執行以下操作:

var file:File = File.applicationStorageDirectory.resolvePath( "file.path" );
if ( file.exists ) {
    var fs:FileStream = new FileStream();
    fs.open( file, FileMode.READ);
    var obj:Object = fs.readObject();
    fs.close();
}

然后,您更新數據並按照我在第一個代碼段中顯示的進行操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM