2012-01-14 25 views
0

我想將SQLite數據庫(* .db文件)添加到AIR應用程序,如圖像,mp3等。 這是爲了確保將數據庫複製到其他用戶是不可能的。如何將SQLite DB(* .db文件)嵌入到AIR應用程序中?

+0

可能重複的[我可以嵌入一個空氣應用程序中的SQLite數據庫?](http://stackoverflow.com/questions/573350/can-i-embed-a -sqlite-database-in-an-air-application) – ericsoco 2014-12-10 05:27:45

回答

2

不,你不能。即使你可以打包,數據也不會真正受到保護:因爲.air包實際上不過是一個增強的.zip壓縮文件,任何人都可以從.air文件中提取數據庫。

您需要做的是加密您的數據庫並使用密碼對其進行保護,以便只有授權用戶才能訪問數據庫。

關於如何做到這一點,有充足的文檔。這裏有一個來自Adobe的教程,讓你開始:http://www.adobe.com/devnet/air/flex/quickstart/articles/encrypted_database.html

+0

實際上,您可以將數據庫文件嵌入到AIR應用程序中。我只是把這個問題標記爲一個騙局。這個答案描述了這個過程:http://stackoverflow.com/questions/573350/can-i-embed-a-sqlite-database-in-an-air-application – ericsoco 2014-12-10 05:28:16

+0

我應該限定我的評論說,「嵌入AIR應用程序「並不意味着將其包含在AIR歸檔文件中,正如@RIAstar所說,它只是一個.zip歸檔文件。所以,除非你加密它,否則它不會受到保護,就像RIAstar說的那樣。但是,除了在運行時通過網絡連接流式傳輸資產之外,AIR還提供比其他任何選項更多的保護。 – ericsoco 2014-12-10 05:31:35

1

我認爲這是不可能的。如果您將其嵌入到空氣文件並安裝AIR應用程序,則數據庫將被複制到安裝文件夾。

你可以在用戶存儲位置

var file:File = File.applicationStorageDirectory.resolvePath("name.db"); 

用戶仍然可以在資源管理器瀏覽文件創建數據庫。它將被存儲在/ users /用戶名/ appdata/appname/Local Store

AppData是一個隱藏文件夾。

相關問題