Скопируйте файл из "Каталога исходного кода" в изолированное хранилище.
Я создал базу данных sqlite и поместил ее в содержимое своего проекта, в этом месте.
Как я могу проверить, когда пользователь впервые устанавливает приложение и копирует эти 2 базы данных в изолированное хранилище?
Я пробовал таким образом, но он дал мне ошибку "Object reference not set to an instance of an object."
на линии
using (Stream stream = Application.GetResourceStream(new Uri("/Assets/DBS/MyPlaylist.db", UriKind.Relative)).Stream)
Вот мой код
private static string DataFolder = "Datas";
public static void FirstTimeCopyDB()
{
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
if (!isf.DirectoryExists(DataFolder))
{
isf.CreateDirectory(DataFolder);
using (Stream stream = Application.GetResourceStream(new Uri("/Assets/DBS/MyPlaylist.db", UriKind.Relative)).Stream)
{
using (IsolatedStorageFileStream isfs = isf.CreateFile("Datas/MyPlaylist.db"))
{
byte[] buffer = new byte[1024];
int byteRead = -1;
while ((byteRead = stream.Read(buffer, 0, buffer.Length)) > 0)
{
isfs.Write(buffer, 0, byteRead);
}
}
}
using (Stream stream = Application.GetResourceStream(new Uri("/Assets/DBS/MyDatabase.db",UriKind.Relative)).Stream)
{
using (IsolatedStorageFileStream isfs = isf.CreateFile("Datas/MyDatabase.db"))
{
byte[] buffer = new byte[1024];
int byteRead = -1;
while ((byteRead = stream.Read(buffer,0,buffer.Length))>0)
{
isfs.Write(buffer,0,byteRead);
}
}
}
}
else return;
}
}
1 ответ
Что-то вроде этого:
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
if (!store.FileExists("yourDBfileName"))
{
// copy yourDBfile
}
}
Узнайте больше здесь