В Firebase есть две вещи:
FirebaseDatabase
FirebaseAuth
Обычно почти во всех приложениях пользовательские данные хранятся в FirebaseDatabase
под ключом, который создается при создании нового пользователя в вашем приложении Firebase.
Так, например, ваша база данныхСтруктура будет выглядеть так.
-Your_main_database
|____UserId_Of_FirebaseUser
|____stuff_related_to_user
|____More stuff related to user
Итак, вы создаете нового пользователя в FirebaseAuth
, вы можете найти больше об этом ниже:
Firebase Custom Auth .
Затем, после создания нового пользователя, вы создаете дочерние узлы в своей базе данных с ключом = userId вашего текущего зарегистрированного пользователя.
например.В вашей функции addNote переменная id
будет равна
String id = FirebaseAuth.getInstance().getCurrentUser().getUid();
В настоящее время вы используете нажимные клавиши, которые генерируются на основе метки времени, которую вы не сможете связать с пользователем, если тольковы добавляете ключ в объект заметки, в котором хранится текущее имя пользователя, а затем находите все дочерние узлы, содержащие это имя пользователя, но в этом случае ваши данные не будут организованы вообще.
Затем, после того как выСоздайте узел с userId в вашей основной базе данных, затем вы можете вставить новые заметки, созданные вашим пользователем, в userId с помощью функции push()
.Таким образом, ваша структура базы данных будет выглядеть следующим образом.
___
|
|__users
|__uniqueUserId
| |__note1
| |__note2
|__uniqueUserId2
|__note1
|__note2
|__note3
В следующий раз, когда вы захотите получить созданные пользователем заметки, вы войдете в систему, получите его идентификатор и затем найдете заметки, соответствующие этому идентификатору.
Я не вижу, как вы можете поместить туда SharedPreferences
, до того как в Firebase также есть функция для кэширования данных в автономном режиме после их загрузки.
Защита заметок:
Если вы внедрите базу данных, как я сказал выше, вы очень легко сможете защитить вашу базу данных.
Общие правила базы данных .
Если вы реализуете все правильно, как я сказал, вы сможете защитить свою базу данных с помощью четвертого набора правил из приведенных выше правил.