Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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 - Fatal编程技术网

Java Firebase实时数据库非常高的下载使用率

Java Firebase实时数据库非常高的下载使用率,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,以下代码花费1MB从firebase提取数据。这正常吗?我能做些什么来减少它?因为太贵了。我想有更好的办法。有人能帮忙吗 mDatabaseRef.child("FalMetinleri").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { long Kapasi

以下代码花费1MB从firebase提取数据。这正常吗?我能做些什么来减少它?因为太贵了。我想有更好的办法。有人能帮忙吗

    mDatabaseRef.child("FalMetinleri").addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {

        long KapasiteGiris= dataSnapshot.child("giris").child(finalKategoriCinsiyet).child(finalKategoriGiris).getChildrenCount();
        long KapasiteKarsilama= dataSnapshot.child("karsilama").getChildrenCount();
        long KapasiteAskDurumu1= dataSnapshot.child("askDurumu").child(finalKategoriCinsiyet).child(finalKategoriAskdurumu).getChildrenCount();
        long KapasiteAskDurumu2= dataSnapshot.child("askDurumu2").child(finalKategoriCinsiyet).child(finalKategoriAskdurumu).getChildrenCount();
        long KapasiteisDurumu1= dataSnapshot.child("isDurumu").child(finalKategoriCinsiyet).child(finalKategoriMeslek).getChildrenCount();
        long KapasiteisDurumu2= dataSnapshot.child("isDurumu2").child(finalKategoriCinsiyet).child(finalKategoriMeslek).getChildrenCount();
        long KapasiteBitis= dataSnapshot.child("bitis").child(finalKategoriCinsiyet).child(finalKategoriBitis).getChildrenCount();

        kapasite[0] = KapasiteGiris;
        kapasite[1] = KapasiteKarsilama;
        kapasite[2] = KapasiteAskDurumu1;
        kapasite[3] = KapasiteAskDurumu2;
        kapasite[4] = KapasiteisDurumu1;
        kapasite[5] = KapasiteisDurumu2;
        kapasite[6] = KapasiteBitis;

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        dialogFragment.dismissAllowingStateLoss();

   }
});
输出:

       KapasiteGiris:8
       KapasiteKarsilama:5
       KapasiteAskDurumu1:4
       KapasiteAskDurumu2:14
       KapasiteisDurumu1:5
       KapasiteisDurumu2:4
       KapasiteBitis:13
CLI报告:


这里唯一重要的代码是连接侦听器的查询:

mDatabaseRef.child("FalMetinleri").addListenerForSingleValueEvent()
这是在获取节点“FalMetinleri”下的所有内容。侦听器中的所有其他代码都不需要花费更多的数据,因为该子对象的整个快照都已经在内存中了。看起来快照中有大约1MB的数据


如果不需要该子对象的全部内容,则可以单独请求其中的每个嵌套子对象。这将需要为每个子项提供一个查询,并为每个子项提供一个新的侦听器。

您可能希望检查此“我的新下载用法”仅69字节。谢谢