我想在我的Xamarin應用程序的內部存儲上創建一個SQLIte數據庫。我正在爲離線環境創建一個系統,其中至少有3個應用程序與共享數據相互連接。所以如果一個應用程序創建了一些數據,另一個應用程序應該能夠讀取它。在內部存儲ANDROID上創建SQLite數據庫
數據庫項目是一個可移植的類庫,我打算在所有三個應用程序中包含它。
我DbHelper如下:
public Database()
{
string folder = "/data/data/Anchor.Main";
_dbPath = System.IO.Path.Combine(folder, "Anchor.db");
try
{
if (!System.IO.Directory.Exists(folder))
{
System.IO.Directory.CreateDirectory(folder); //Getting error here
}
_connection = new SQLiteConnection(_dbPath);
_connection.CreateTable<Orders>();
_connection.CreateTable<Items>();
}
catch(Exception ex)
{ }
}
我得到錯誤,說
訪問路徑 「/data/data/Anchor.Main」 被拒絕。
以下是堆棧跟蹤
在System.IO.Directory.CreateDirectoriesInternal(System.String路徑) [0x0004b]在< 3fd174ff54b146228c505f23cf75ce71>:0在 System.IO.Directory.CreateDirectory (System.String路徑)[0x00075]在 < 3fd174ff54b146228c505f23cf75ce71>:0在 anchorapp.db.Helper.Database..ctor()[0x0002e]
我知道這是因爲權限,但是我需要設置什麼權限才能從PCL寫入內部存儲?
我可以做到這一點,但我需要其他應用程序來訪問由此應用程序創建的數據庫。是否可以從另一個數據庫創建的數據庫中讀取數據? – progrAmmar