Согласно вашему описанию, вы добавляете одну базу данных sqlite в Assest в проекте Android, теперь вы хотите использовать этот sqlite.
Во-первых, установите Sqlite. net .core во всех трех PCL, Android и IOS Проекты, SQLite. Net .Платформа. Xamarin Android в Android Проект.
Тогда вы Создайте интерфейс IDatabase.cs в PCL:
public interface IDatabase
{
SQLite.Net.SQLiteConnection createconnection();
}
Реализация этого интерфейса в Android для получения SqliteConnection.
public class GetDatabase : IDatabase
{
public SQLite.Net.SQLiteConnection createconnection()
{
var fileName = "SQLite.db3";
var documentPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
var path = Path.Combine(documentPath, fileName);
if(!File.Exists(path))
{
using (BinaryReader br = new BinaryReader(Android.App.Application.Context.Assets.Open(fileName)))
{
using (BinaryWriter bw = new BinaryWriter(new FileStream(path, FileMode.Create)))
{
byte[] buffer = new byte[2048];
int len = 0;
while ((len = br.Read(buffer, 0, buffer.Length)) > 0)
{
bw.Write(buffer, 0, len);
}
}
}
}
var plat = new SQLite.Net.Platform.XamarinAndroid.SQLitePlatformAndroid();
var conn = new SQLite.Net.SQLiteConnection(plat, path);
return conn;
//var plat = new SQLite.Net.Plataform.XamarinAndroid.SqlitePlatformAndroid();
}
Обратите внимание: SQLite. Net .Платформа .Xamarin Android более ранние версии установка прошла успешно. Однако он выдаст сообщение об ошибке «Пакет SQLite. Net .Platform.XamarinAndroidN 3.1.1 не совместим с monoandroid90 (Mono Android, Version = v9.0)», и установка пакета завершится неудачно. Это ошибка, и решение не доступно на сегодняшний день. Вы можете скопировать эту dll с по этой ссылке , чтобы добавить свой android проект.
Более подробную информацию, пожалуйста, посмотрите:
Использование локальной базы данных в Xamarin