Общая база данных для UWP и Android

Недавно начал изучать Xamarin и писать небольшое приложение. И возникла следующая проблема: приложение для UWP и Android использует разные базы данных. Каким образом я могу сделать общую базу для всех платформ?

public class NoteDatabase
{
    readonly SQLiteAsyncConnection database;

    public NoteDatabase(string dPath)
    {
        database = new SQLiteAsyncConnection(dPath);
        database.CreateTableAsync<Note>().Wait();
    }

    public Task<List<Note>> GetNotesAsync()
    {
        return database.Table<Note>().ToListAsync();
    }

    public Task<Note> GetNoteAsync(int id)
    {
        return database.Table<Note>().Where(i => i.ID == id).FirstOrDefaultAsync();
    }

    public Task<int> SaveNoteAsync(Note note)
    {
        if (note.ID != 0)
        {
            return database.UpdateAsync(note);
        }    
        else
        {
            return database.InsertAsync(note);
        }
    }

    public Task<int> DeleteNoteAsync(Note note)
    {
        return database.DeleteAsync(note);
    }
}

Ответы (1 шт):

Автор решения: aepot

Клиентские приложения как правило не работают с базами данных вообще. Они общаются с сервером, а сервер в свою очередь - с базой данных.

SQLite - однопользовательская БД для локального использования, она не может быть общей в принципе.

То есть вам нужна полноценная БД, например MSSQL или MySQL, и Web API сервер, например ASP.NET Core, который с этой базой будет работать.

Сервер должен быть доступен по сети всем, кому он нужен.

→ Ссылка