2017-02-08 6 views
0

は私Firebase詳細です:挿入データの下

会話

-KcNOYKbVwSZGqyoD99W

-KcNOeYu1iX6VqVM5tIf

- KcNPLZdLBva3f2SqspR

-KcNQlp9H8hxAsS4otxz

-KcOOtlBsMqGhvyrnHS

私はデータを挿入すると、それは以下からデータベースに追加されます。私はKcNPLZdLBva3f2SqspRノード以下のデータを追加する必要があります。

通常、私はデータを追加するには、以下のコードを使用します。

必要なノードの下にデータを追加するために必要とされるどのような修正
final DatabaseReference imageref = FirebaseDatabase.getInstance().getReference().child("Message").child(data_contact.get(position).getChatadd()).child("Conversations"); 
String mydate = java.text.DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime()); 
Map<String, Object> map = new HashMap<String, Object>(); 
final String temp_key = imageref.push().getKey(); 
imageref.updateChildren(map); 

DatabaseReference message_roottemp = imageref.child(temp_key); 

Map<String, Object> map2 = new HashMap<String, Object>(); 
map2.put("Text", "Ouch.."); 
map2.put("sender_name", data_contact.get(position).getCurrent_user()); 
map2.put("sender_photo", ""); 
map2.put("timestamp", mydate); 
map2.put("message_status", "Saved"); 
map2.put("msg_type", "POKE"); 
message_roottemp.updateChildren(map2); 

私の使用例は次のとおりです:KcNPLZdLBva3f2SqspRノードに、画像URLがあります。ユーザーはこの画像にコメントします。したがって、データをRecyclerViewにロードするときと同じように、このノードの下にデータをポストする必要があります。画像とコメントが順番に表示されます。

答えて

0

私はデータがソートされた方法で追加されているのを知っています(私は確信していませんので確認してください)。

しかし、私はあなたに問題のよりよい解決策を与えることができます。

おそらく、各画像のプロパティについては、データベースに子属性を作成する必要があります。

例:私は同じ種類の状況がありました。だから私はランダムな名前で私のデータベース内の各新しい画像のエントリ を作成しました。その後、 データベースからその名前を取得した後、Firebaseストレージに同じ という名前の画像をアップロードします。

これがあります。画像にアップロードしたコメントの数にかかわらず、すべての画像属性を保持しているデータベースからその項目をいつでも取得できます。

私はこれがあなたの質問ではなかったことを知っていますが、それはあなたの問題に対する解決策です。それが助けてくれたらと思います。

+0

あなたのおかげでありがとうございました...私は同じものを選びました....その解決策を見つけられなかったので、その実装に行きました... say >> KcNPLZdLBva3f2SqspR >>すべてのコメントを含む子ノードを作成します。 ...私はこの実装について考えましたが、代替ソリューションについて考えていた –

+0

その大丈夫です。私の意見では、その最高のソリューション。そんなにシーケンスに頼ることはできません。 – Ashu