Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何对实时firebase数据库进行时间戳/解码以获得时间顺序显示_Java_Android_Firebase_Firebase Realtime Database_Timestamp - Fatal编程技术网

Java 如何对实时firebase数据库进行时间戳/解码以获得时间顺序显示

Java 如何对实时firebase数据库进行时间戳/解码以获得时间顺序显示,java,android,firebase,firebase-realtime-database,timestamp,Java,Android,Firebase,Firebase Realtime Database,Timestamp,我试图让这个实时数据库按时间顺序显示我的“文本”。它不断地按字母顺序从上到下添加我的“文本”。我肯定我需要添加时间戳来修复它,但我不是100%确定 以下是我的主要活动: > package com.example.osada; > > import android.os.Bundle; > import android.view.View; > import android.widget.EditText; > i

我试图让这个实时数据库按时间顺序显示我的“文本”。它不断地按字母顺序从上到下添加我的“文本”。我肯定我需要添加时间戳来修复它,但我不是100%确定

以下是我的主要活动:

>   package com.example.osada;
>     
>     import android.os.Bundle;
>     import android.view.View;
>     import android.widget.EditText;
>     import android.widget.TextView;
>     
>     import androidx.appcompat.app.AppCompatActivity;
>     
>     import com.google.firebase.database.DataSnapshot;
>     import com.google.firebase.database.DatabaseError;
>     import com.google.firebase.database.DatabaseReference;
>     import com.google.firebase.database.FirebaseDatabase;
>     import com.google.firebase.database.ValueEventListener;
>     
>     import java.text.SimpleDateFormat;
>     import java.util.Date;
>     
>     public class MainActivity extends AppCompatActivity {
>     
>         private DatabaseReference myDatabase;
>         SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");
>         String currenttime = sdf.format(new Date());
>     
>         @Override
>         protected void onCreate(Bundle savedInstanceState) {
>             super.onCreate(savedInstanceState);
>             setContentView(R.layout.activity_main);
>     
>             myDatabase = FirebaseDatabase.getInstance() .getReference("message1");
>     
>             TextView textmessage = findViewById(R.id.text);
>     
>             myDatabase.addValueEventListener(new ValueEventListener() {
>                 @Override
>                 public void onDataChange(DataSnapshot snapshot) {
>     
>     
>                     textmessage.setText(snapshot.getValue().toString());
>     
>     
>     
>                 }
>     
>                 @Override
>                 public void onCancelled(DatabaseError error) {
>                 textmessage.setText("Error, please try again later.");
>                 }
>             });
>         }
>         public void sendMessage (View view){
>     
>             EditText myEditText = findViewById(R.id.editTextTextPersonName);
>             myDatabase.push().child("Jon").setValue(myEditText.getText().toString());
>             myEditText.setText("");
>             System.out.println();
>     
>     
>     
>     
>         }
>     }
这是Firebase实时数据库显示的内容:

这就是我的android模拟器显示的内容

我肯定我需要添加一个时间戳来修复它,但我不是100%确定

实际上,您需要添加一个可以保存时间戳的新属性。这可以通过我在以下帖子中的回答来实现:

新字段就位后,可以使用Query的方法:

创建一个查询,其中子节点按指定路径的值排序

默认情况下,顺序为升序。如果您需要降序,请参阅我在以下帖子中的答案:


嘿,joneyboy21!我能帮你了解其他信息吗?如果你认为我的答案对你有帮助,请考虑通过点击复选来接受它。✔️) 在投票箭头下方的左侧。应该将颜色更改为绿色。我非常感谢。谢谢!