0
0

More than 3 years have passed since last update.

Firebaseに保存した際に、そのTimestampを取得する方法(Android)

Posted at

使用環境
ソフト Android Studio
言語 Java

Firebaseにデーターを保存するときに、タイムスタンプを取得する方法について解説します。

ちなみに、タイムスタンプというのは画像でいうと以下の-MSから始まるもののことで、保存先が重複しないようにFirebaseが発行しているサーバー時間のようなものです。
キャプチャ.PNG

タイムスタンプは、保存時に.push()を入れることによって、発行できます。
そのため、
refMag.push().setValue("保存する内容")

ではなく
refMag.child("タイムスタンプに変わる文字列").setValue(post)

にすることで、タイムスタンプの部分を好きな文字列に変えることが出来ます。ただし、タイムスタンプは重複を防ぐためには欠かせないものなので、.push()でタイムスタンプを使用するのが望ましいです。

ここで、問題になるのがFirebaseに保存されているデーターの書き換えです。
タイムスタンプを取得しないと、個々の書き換えたいデーターにたどり着くことができません。
そこで、.getKey()を使用します。これで、タイムスタンプを取得することができます。

まず、最初にタイムスタンプを事前に発行し、String Keyに入れましょう。

qiita.rb
String key = refMag.push().getKey();

そして、String型のKeyに代入されているタイムスタンプを.child()を使って、そのタイムスタンプの場所に保存します。

qiita.rb
refMag.child(key).setValue("保存したいもの");

そして、String keyに保存されている内容を何かしらで参照できるようにすれば、Firebaseのデーターをピンポイントで参照、書き換えができます。

参考にしたサイト Working with Firebase Realtime Database Lists

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0