У меня есть автономная база данных SQLite, я хочу сделать ее онлайн и работать с ней - PullRequest
0 голосов
/ 28 сентября 2019

В своем проекте Android Studio я создал автономную базу данных SQLite, которая хранит данные в телефоне пользователя.Но сейчас я хочу сделать эту базу данных онлайн, чтобы каждый, у кого есть приложение, мог работать с одной базой данных (если первый пользователь изменяет данные, данные изменятся в приложении второго пользователя).Как я могу сделать свою существующую базу данных онлайн, чтобы с ней могли работать несколько человек?(Нужно ли создавать новую базу данных с помощью PHP-скрипта?)

Вот некоторые из моих кодов класса Database:

public class DatabaseHelper extends SQLiteOpenHelper {

public static final String DATABASE_NAME = "mylist7641337.db";
public static final String TABLE_NAME = "mylist_data7641337";
public static final String COL1 = "ID";
public static final String COL2 = "NAME1";
public static final String COL3 = "YEAR1";
public static final String COL4= "MONTH1";
public static final String COL5= "DAY1";
public static final String COL6= "PRICE1";
public static final String COL7= "STYEAR1";
public static final String COL8= "STMONTH1";
public static final String COL9= "STDAY1";


public DatabaseHelper(Context context) {
    super(context, DATABASE_NAME, null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
    String createTable = "CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, "
            +"NAME1 TEXT, "
            +"YEAR1 INTEGER, "
            +"MONTH1 INTEGER, "
            +"DAY1 INTEGER, "
            +"PRICE1 INTEGER, "
            +"STYEAR1 INTEGER, "
            +"STMONTH1 INTEGER, "
            +"STDAY1 INTEGER)";
    db.execSQL(createTable);
}

1 Ответ

2 голосов
/ 28 сентября 2019

Прежде всего, база данных Android по умолчанию - SQLite.Это встроенная СУБД.SQLite не является ядром клиент-серверной базы данных.

TL, DR Вы не можете предоставить доступ к локальной базе данных на своем устройстве.

Самый распространенный способвзаимодействовать с бэкэндом - это создать REST API / JSON RPC / ... и запросить данные у бэкэнд-сервера.

На бэкэнде у вас может быть любая необходимая СУБД, но конечные клиенты будут абстрагированыиз этих деталей через API.

Конечно, вы можете запросить сервер базы данных напрямую, используя драйверы MySQL, PostgreSQL,..., но это не рекомендуется.

Таким образом, вы можете хранить свои локальные данные в локальной базе данных и периодическизагрузить данные на сервер, или вы можете просто взаимодействовать с бэкэндом без локального кэширования данных.В последнем случае вы всегда будете синхронизированы.

Надеюсь, я объяснил этот вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...