Расположение внутреннего кода Firebase в Android Studio
Я работаю над проектом колледжа, моя команда и я разрабатываем приложение, которое включает в себя пользователей и группы, мы используем Firebase для регистрации через Facebook, и почти каждое действие должно получать данные из базы данных Firebase в реальном времени. Мне интересно, существует ли соглашение о кодировании для написания кода манипулирования базой данных. Например, многие примеры кода выглядят так:
createGroupBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
group.addUser(firebaseuser.getUid());
//add group to firebase
String groupId=FirebaseDatabase.getInstance().getReference().child("Groups").addGroup(group);
//set user's group id for this id
FirebaseDatabase.getInstance().getReference().child("Users").child(firebaseuser.getUid()).child("groupId").setValue(groupId);
Я думаю, что это очень грязный и не правильный способ доступа к базе данных (внутри файла класса activity.java). Я не могу думать о хорошем способе организации кода и создания слоя доступа к данным, который сделает код лучше и облегчит процесс разработки. Любые предложения помогут.
2 ответа
Оберните вызовы Firebase в сервисный уровень и предоставьте сервисные методы.
Когда я разрабатываю приложение для Android, я всегда стараюсь следовать шаблону MVP (Model View Presenter). Таким образом, вы должны разделить все эти 3 внутри разных пакетов.
Для Firebase я использую папку со всеми функциями Firebase. Эти функции Firebase вызывают CallBack, который является ссылкой на докладчика.
Я не знаю, лучший ли это путь, но он мой и уважает модель MVP