Я новичок в программировании, и я пытаюсь получить эти данные, отправленные Raspberry Pi из Arduino. Как вы думаете, в чем проблема?
! Изображение базы данных Firebase Я пробовал несколько обучающих видео и ответов на похожие проблемы на этом сайте, но все еще не могу получить данные.
Это текущий код:
public class ph extends AppCompatActivity {
ArrayList <String> list;
ArrayAdapter <String> adapter;
phlevel phlvl;
private static final String TAG = "phlevel";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ph);
phlvl = new phlevel();
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference mRef = database.getReference("phlevel");
final ListView mListView = (ListView) findViewById(R.id.listView);
list = new ArrayList<>();
adapter = new ArrayAdapter<String>(this,R.layout.activity_ph,R.id.phlevelinfo,list);
mRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s)
{
if(dataSnapshot.child("date").exists() &&
dataSnapshot.child("time").exists() &&
dataSnapshot.child("value").exists()) {
Log.d(TAG,"onChildChanged: " + dataSnapshot.toString());
}
}
Это код уровня:
public class phlevel {
private String date;
private String time;
private String value;
public phlevel(String date, String time, String value) {
this.date = date;
this.time = time;
this.value = value;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
А это XML для ph-операции:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ph">
<TextView
android:id="@+id/phlevelinfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="30dp"
android:text="Displaying pH Level"
android:textSize="30sp"
tools:ignore="HardcodedText" />
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="30dp" />
</LinearLayout>
Я ожидаю, что значения «дата, время и значение» из базы данных будут получены и перечислены в ListView. Вместо этого приложение не показывает ничего, кроме текста «Отображение уровня pH». Спасибо.