gpt4 book ai didi

java - 从火力地堡检索数据

转载 作者:行者123 更新时间:2023-11-29 23:18:26 25 4
gpt4 key购买 nike

这是我从 firebase 实时数据库中检索数据的 android 代码:

package com.example.firebaseapp;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import`enter code here` android.view.View;
import android.widget.Button;
import android.widget.TextView;

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;

public class MainActivity extends AppCompatActivity {

Button f;
TextView status;

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("light");

@Override
protected void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

f=(Button)findViewById(R.id.button);
status=(TextView) findViewById(R.id.lightstatus);

myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String value = dataSnapshot.getValue(String.class);
status.setText(value);
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError){
status.setText("Could not fetch data..");
}
});
}

public void lighton(View view){
myRef.setValue(1);
}

public void lightoff(View view){
myRef.setValue(0);
}
}

该应用程序正在正确编译,但每当我运行它时,该应用程序就会崩溃并显示错误消息“不幸的是,Firebase 应用程序已停止”。请帮我解决这个问题。这是我的数据库中的一个 fragment : Database screenshot

最佳答案

将 String 更改为 Integer 或 Long,因为 light 值不是 String。

public class MainActivity extends AppCompatActivity {

Button f;
TextView status;

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

f = (Button)findViewById(R.id.button);
status = (TextView) findViewById(R.id.lightstatus);

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("light");

myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
Integer value = dataSnapshot.getValue(Integer.class);
status.setText(String.valueOf(value));
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError){
status.setText("Could not fetch data..");
}
});
}

public void lighton(View view){
myRef.setValue(1);
}

public void lightoff(View view){
myRef.setValue(0);
}

}

关于java - 从火力地堡检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54862858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com