3

У нас есть 2 Android деятельность (деятельность A и B) деятельностьКак передать Firebase ссылку на другой андроид деятельности

Предположим, что мы инстанцирован в Firebase ссылку в деятельности А. Активность А также обрабатывает все аутентификации пользователей (Facebook, Google, и адрес электронной почты/пароль).

Деятельность B, которая начинается с действия A с использованием намерения Android, должна использовать ссылку Firebase для доступа к некоторым данным на серверах Firebase.

Теперь мне было интересно, что лучший дизайн отправить Firebase реф от активности А к деятельности В.

  1. Bundle ссылка Firebase с целью использования Java Serializable и использовать intent.getExtra() в активность B

  2. Bundle ссылку Firebase с целью использования Android Parcelable и использовать intent.getExtra() в деятельности B

  3. Инициировать ссылку Firebase в службе и связывать Android каждое действие на эту услугу

  4. Что-то еще.

+0

Зачем вы хотите отправить ссылку на базовую базу в действии? Как это может быть полезно для вас? Также разместите соответствующий код. –

+0

Когда я вернусь с работы, я обновлю свой пост соответствующим кодом. –

+0

Почему вы хотите отправить ссылку на firebase через действия? Как это может быть полезно для вас? В моей основной деятельности (Activity A) у меня есть галерея изображений, хранящихся в firebase. Там вы можете добавлять изображения, редактировать изображения и т. Д. В моем втором действии (Activity B) вы можете использовать одни и те же изображения, чтобы создать композицию изображений на поверхности Android и сохранить композит в Firebase. Но для добавления изображений в обзор поверхности, Activity B также нуждается в галерее изображений (с разной функциональностью по сравнению с галереей в Activity B). Таким образом, Activity B также нуждается в доступе к БД Firebase. @ParagKadam –

ответ

3

Общий способ сделать это - передать URL-адрес данных для нового действия. Смотрите, например this method из Firebase Android Drawing sample:

private void openBoard(String key) { 
    Log.i(TAG, "Opening board "+key); 
    Toast.makeText(BoardListActivity.this, "Opening board: "+key, Toast.LENGTH_LONG).show(); 
    Intent intent = new Intent(this, DrawingActivity.class); 
    intent.putExtra("FIREBASE_URL", FIREBASE_URL); 
    intent.putExtra("BOARD_ID", key); 
    startActivity(intent); 
} 

Новая активность затем считывает URL-адрес и формирует новый Firebase ссылка:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Intent intent = getIntent(); 
    final String url = intent.getStringExtra("FIREBASE_URL"); 
    final String boardId = intent.getStringExtra("BOARD_ID"); 
    Log.i(TAG, "Adding DrawingView on "+url+" for boardId "+boardId); 
    mFirebaseRef = new Firebase(url); 

состояние аутентификации действительно поддерживается между этими вызовами. Firebase SDK поддерживает одно подключение к серверу для сеанса приложения, и каждая ссылка Firebase является облегченной ссылкой поверх этого.

+1

Приложение - Поскольку я не смог использовать Firebase() (не доступен), вместо этого я получил уже созданный экземпляр firebase (в главной операции), 'FirebaseApp firebaseApp = FirebaseApp.getInstance (« Firebase »); создала новую ссылку: FirebaseDatabase.getInstance (firebaseApp) .getReference (NEW_URL); ' – Paritosh

Смежные вопросы