Диаграмма базы данных в реальном времени не появилась, и в ней говорится, что в диаграмме нет данных, хотя соединение с JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Диаграмма базы данных в реальном времени не появилась, и в ней говорится, что в диаграмме нет данных, хотя соединение с

Сообщение Anonymous »

Мне нужны данные из Firebase в реальном времени, представленные в Android Studio в виде диаграммы. может ли кто-нибудь помочь мне достичь этой цели? Я уже задавал вопросы в chatgpt и других руководствах, но, по их мнению, с рассматриваемым кодом все в порядке. Ниже приведен написанный мною код.
эмулятор
package com.example.wastenotifier;

import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
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.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

private BarChart chart;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Initialize the chart
chart = findViewById(R.id.chart);

// Get reference to your Firebase Database
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("/test/distance");

// Listen for data changes
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
// Check if the dataSnapshot has any value
if (dataSnapshot.exists()) {
// Get the data from the snapshot
Long distance = dataSnapshot.getValue(Long.class);

// Prepare the data for the chart
List entries = new ArrayList();
entries.add(new BarEntry(0, distance != null ? distance : 0));

// Create the dataset
BarDataSet dataSet = new BarDataSet(entries, "Distance");
BarData barData = new BarData(dataSet);

// Update the chart with the new data
chart.setData(barData);
chart.invalidate(); // Refresh the chart
} else {
// Handle the case when there is no data available
chart.clear();
}
}

@Override
public void onCancelled(@NonNull DatabaseError error) {
// Handle errors
}
});
}
}



Подробнее здесь: https://stackoverflow.com/questions/784 ... a-in-chart
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»