【发布时间】:2017-12-08 01:00:12
【问题描述】:
在安卓工作室中, 我无法在我的 firebase 数据库中检索车辆类别。想根据日期获取数据,然后plateno。并将每个条目存储在一个数组中。我已经尝试过这里找到的大多数解决方案,但作为一个菜鸟,我很难浓缩这些解决方案。感谢您的帮助: 这是我的数据库结构:
这是我的代码:
public void getDatabase() {
FirebaseDatabase myRef = FirebaseDatabase.getInstance();
DatabaseReference ref = myRef.getReference();
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot onemarker: dataSnapshot.getChildren())
{
key =onemarker.getKey();
myvehicle = onemarker.child(key).child("OneMarker").getValue(Vehicle.class);
String stats = myvehicle.status;
vehiclearray.add(myvehicle);
new AlertDialog.Builder(MonitorActivity.this)
.setTitle("Vehicle Information")
.setMessage(" "+stats+" "+key+" "+vehiclearray.size())
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
.setIcon(R.mipmap.inmissionmarker)
.setNegativeButton(android.R.string.cancel,null)
.show();
}
}
运行时,应用程序停止并关闭。 这是错误代码:
12-11 08:49:27.336 1272-1272/? D/Settings: Mon Dec 11 08:49:27 GMT+08:00 2017 , device_provisioned : 1
java.lang.RuntimeException
at android.provider.Settings$LogMsg.writeCallStackLog(Settings.java:1085)
at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:1206)
at android.provider.Settings$Global.putStringForUser(Settings.java:12282)
at android.provider.Settings$Secure.putStringForUser(Settings.java:7421)
at android.provider.Settings$Secure.putIntForUser(Settings.java:7533)
at android.provider.Settings$Secure.putInt(Settings.java:7527)
at com.android.launcher2.Launcher.onCreate(Launcher.java:529)
at android.app.Activity.performCreate(Activity.java:6609)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3104)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3261)
at android.app.ActivityThread.access$1000(ActivityThread.java:219)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1735)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6939)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
【问题讨论】:
-
警报对话框只是为了验证数据是否已被检索。
标签: android database firebase firebase-realtime-database