我想在我的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