私のXamarinアプリケーションで内部ストレージにSQLIteデータベースを作成しようとしています。私は少なくとも3つのアプリケーションが共有データと相互接続されているオフライン環境用のシステムを作成しています。したがって、あるアプリケーションが何らかのデータを作成すると、他のアプリケーションはそのデータを読み取ることができます。内部ストレージにSQLiteデータベースを作成するANDROID
データベースプロジェクトは、3つのアプリケーションすべてに含める予定のポータブルクラスライブラリです。次のように
私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.String)System.IO.Directory.CreateDirectoriesInternalにスタックトレース
ある< 3fd174ff54b146228c505f23cf75ce71>で [0x0004b]:0 System.IO.Directory.CreateDirectoryで(可能System.Stringパス)[0x00075] < 3fd174ff54b146228c505f23cf75ce71>で: anchorapp.db.Helper.Database..ctor(AT 0)[0x0002e]
これはパーミッションのためですが、PCLから内部ストレージに書き込むためにはどのようなパーミッションを設定する必要がありますか?
私はそれを行うことができますが、私はこのアプリケーションによって作成されたDBにアクセスするために他のアプリが必要です。別のデータベースによって作成されたデータベースからデータを読み取ることは可能ですか? – progrAmmar