簡體   English   中英

如何將 firebase 數據從一個活動傳遞到另一個活動?

[英]How to pass firebase data from one activity to another?

我想將數據從一個活動傳遞到另一個活動,首先我從 Firebase 實時數據庫下載它,然后將它傳遞給另一個活動以及如何在其中使用它。

我的數據是這樣的。(圖片來自互聯網)

  cam_firebase.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(@NotNull DataSnapshot dataSnapshot, String s) {





            // long count = dataSnapshot.getChildrenCount();
            double longt = dataSnapshot.child("longt").getValue(Double.class);
            double lat = dataSnapshot.child("lat").getValue(Double.class);
            String type = dataSnapshot.child("type").getValue(String.class);
            List<Model> list = new ArrayList<>();
            list.add(new Model());
            list.get(0).setLat(lat);
            list.get(0).setLongt(longt);
            cameras_info.onCallback();

        }

        @Override
        public void onChildChanged(DataSnapshot dataSnapshot, String s) {

        }

        @Override
        public void onChildRemoved(DataSnapshot dataSnapshot) {
        }

        @Override
        public void onChildMoved(DataSnapshot dataSnapshot, String s) {

        }

        @Override
        public void onCancelled(@NonNull @NotNull DatabaseError error) {

        }


    });

在此處輸入圖像描述

假設pXGb...lGE2是登錄用戶的 UID,為了能夠讀取與您的模式對應的數據,請使用以下代碼行:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference db = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = db.child("ProgressReportss").child(uid);
uidRef.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DataSnapshot> task) {
        if (task.isSuccessful()) {
            DataSnapshot snapshot = task.getResult();
            for (DataSnapshot ds : snapshot.getChildren()) {
                String content = ds.child("content").getValue(String.class);
                String timestamp = ds.child("timestamp").getValue(String.class);
                String title = ds.child("title").getValue(String.class);
                Log.d("TAG", content + "/" + timestamp + "/" + title);
            }
        } else {
            Log.d("TAG", task.getException().getMessage()); //Never ignore potential errors!
        }
    }
});

logcat 中的結果將是:

Test 2/30-11-2018/Test 2
Test 3/30-11-2018/Test 3
Test 4/30-11-2018/Test 4

你就是這樣讀的。 如果您需要將數據發送到另一個活動,請在onComplete()內部使用以下答案中的邏輯:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM