использование одной базы данных sqlite для нескольких устройств Android - PullRequest
0 голосов
/ 11 мая 2018

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

    public class DBOpenHelper extends SQLiteOpenHelper{

    //Constants for db name and version
    private static final String DATABASE_NAME = "notes.db";
    private static final int DATABASE_VERSION = 1;

    //Constants for identifying table and columns
    public static final String TABLE_NOTES = "notes";
    public static final String NOTE_ID = "_id";
    public static final String NOTE_TEXT = "noteText";
    public static final String NOTE_CREATED = "noteCreated";

    public static final String[] ALL_COLUMNS =
            {NOTE_ID, NOTE_TEXT, NOTE_CREATED};

    //SQL to create table
    private static final String TABLE_CREATE =
            "CREATE TABLE " + TABLE_NOTES + " (" +
                    NOTE_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                    NOTE_TEXT + " TEXT, " +
                    NOTE_CREATED + " TEXT default CURRENT_TIMESTAMP" +
                    ")";

    public DBOpenHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(TABLE_CREATE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_NOTES);
        onCreate(db);
    }
}

Будет ли эта база данных одинаковой на всех телефонах, которые загружают приложение, а это означает, что если человек 1 на телефоне что-то записывает в базу данных, человек 2 с другим телефоном сразу увидит обновление?

или наоборот: у человека 1 есть одна база данных, а у человека 2 будет другая база данных для себя?

Я заинтересован в создании базы данных для моего приложения, которая будет работать как одна база данных для всех телефонов, чтобы лица 1 и 2 использовали одну и ту же базу данных.

Ответы [ 3 ]

0 голосов
/ 11 мая 2018

Будет ли эта база данных одинаковой на всех телефонах, загружающих приложение,

Ответ: NO Поскольку SQLite база данных хранится локально в устройстве

что означает, что если человек 1 на телефоне что-то записывает в базу данных, человек 2 с другим телефоном сразу увидит обновление?

Невозможно с SQLite

Я заинтересован в создании базы данных для моего приложения, которая будет работать как одна база данных для всех телефонов, чтобы лица 1 и 2 использовали одну и ту же базу данных.

Вы можете использовать Firebase Realtime Database

  • Храните и синхронизируйте данные с нашей облачной базой данных NoSQL. Данные синхронизируются между всеми клиентами в режиме реального времени и остаются доступными, когда ваше приложение отключается.
  • База данных Firebase Realtime - это облачная база данных. Данные хранятся в формате JSON и синхронизируются в режиме реального времени с каждым подключенным клиентом. Когда вы создаете кроссплатформенные приложения с помощью наших SDK для iOS, Android и JavaScript, все ваши клиенты совместно используют один экземпляр базы данных в реальном времени и автоматически получают обновления с самыми новыми данными
0 голосов
/ 11 мая 2018

Эти базы данных создаются локально на устройстве, которое не имеет никакого отношения к внешнему миру. На каждом устройстве, на котором запускается приложение с созданием собственной локальной базы данных, следует использовать База данных реального времени Firebase создайте единую базу данных, которая синхронизируется всякий раз, когда кто-то изменяется, и это отражается на всех других устройствах.

Вот хороший пример, чтобы начать с . Смотрите прилагаемое видео перед началом работы.

0 голосов
/ 11 мая 2018

SQLite - это локальная БД, поэтому у каждого человека будут свои уникальные данные, ничто не будет передано

Если вы ищете что-то для синхронизации между несколькими устройствами, вам следует подумать о наличии внутреннего сервера для получения обновлений с одного устройства и отправки этого обновления на другие устройства

Вы также можете использовать База данных Firebase в реальном времени

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