2013-04-09 77 views
3

我重寫了曾經在Titanium中的應用程序,並需要從舊應用程序訪問數據庫。他們有相同的應用程序標識符和一切。Titanium to Xamarin DB Export

在鈦的應用程序數據庫儲存這樣的:

Ti.Database.install('/db/dbName.db', 'dbName'); 
在Xamarin

我存儲這樣的:

string documents = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments); 
string db = Path.Combine (documents, "mydb.db"); 
SqlConnection.CreateFile (db); 

我需要能夠訪問來自鈦位置數據。任何幫助將是驚人的。

回答

2

你可以在模擬器中運行你的Titanium應用程序,並檢查它在哪裏創建數據庫文件?這應該給你一些指導。

我會建議嘗試Environment.SpecialFolder.MyDocuments +「/db/dbName.db」,但您可能需要做一些試驗和錯誤。

Titanium docs描述他們存儲架構

+0

其實我試過了路徑。它看起來不像是一個人。我也嘗試過'個人' – BRogers 2013-04-09 21:51:46

+0

我想你將不得不在周圍(或設備)上尋找真正的路徑 – Jason 2013-04-09 23:19:54

+0

這就是Titanium所說的,但我不知道'不知道如何從Xamarin到達這條路徑: Titanium說: 'var db1 = Ti.Database.install('mydb1','mydb1Installed'); 將文件複製到文件擴展名爲sql的默認數據庫位置。 在模擬器 /用戶/ USER_NAME /庫/應用程序支持/ iPhone模擬器/ ios_version /應用/ apple_app_id /庫/私人文件/ mydb1Installed.sql(鈦1.8.0.1) 論設備 /應用/ apple_app_id /庫/ Private Documents/mydb1Installed.sql(Titanium 1.8.0.1)' – BRogers 2013-04-10 00:51:22

1

您可以使用Xcode的組織者看到您的設備上的所有應用程序的各種版本的數據庫文件。

然後,您可以選擇您的應用程序並查看其所有文件,甚至可以以這種方式下載所有應用程序數據。

有關此Xcode組織者功能,請參閱Apple documentation

1

我不得不看看Titanium文檔(http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.Database-method-install)這讓我可以在@poupou指出的情況下瀏覽iOS Simulator應用程序包。

本文來自Xamarin,它允許我找到Library文件夾,然後導航到該文件夾​​內的那個文件夾(其中Titanium創建的文件夾)Private Documentshttp://docs.xamarin.com/guides/ios/application_fundamentals/working_with_the_file_system

請記住,一切都區分大小寫。

這裏基本上我是如何做的:

var documents = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments); 
var library = Path.Combine (documents, "..", "Library"); 
var legacyData = Path.Combine (library, "Private Documents", "legacyDB.sql"); // Titanium adds the .sql to the end of file names 
+0

我選擇了@Jason的答案,因爲他與Titanium doc的鏈接幫助最大。 – BRogers 2013-04-10 18:46:02