gpt4 book ai didi

java - 在 Android Studio 中从 firebase 检索数据

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

我发现从 firebase 检索数据时出错。我从 firebase 数据库中获取来自 child("H_Location") 的数据。当我按下手机中的 pickupButton 时,此应用程序会自动关闭。

Hare 是我在 MngaddHospital fragment 中的代码:




import android.os.Bundle;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;

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.Objects;

public class MngAddHospitalFragment extends Fragment {

private EditText hospital_name,hospital_email,hospital_number,h_lat,h_long;
private Button pickButton,add_hospital_button;

DatabaseReference href;

//int PLACE_PICKER_REQUEST=1;




public MngAddHospitalFragment() {
// Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_mng_add_hospital, container, false);

hospital_name=(EditText) v.findViewById(R.id.hospital_name);
hospital_email=(EditText) v.findViewById(R.id.hospital_email);
hospital_number=(EditText) v.findViewById(R.id.hospital_number);
h_lat=(EditText) v.findViewById(R.id.hospital_lat);
h_long=(EditText) v.findViewById(R.id.hospital_long);

pickButton=(Button) v.findViewById(R.id.btn_lat_long);
add_hospital_button=(Button) v.findViewById(R.id.btn_add_hospital);

pickButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
href= FirebaseDatabase.getInstance().getReference().child("H_Location");



href.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

String longitude= Objects.requireNonNull(dataSnapshot.child("H_Location").getValue()).toString();
String latitude= Objects.requireNonNull(dataSnapshot.child("H_Location").getValue()).toString();

h_long.setText(longitude);
h_lat.setText(latitude);

}

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

}
});
}
});
return v;
}

firebase for H_Location

所以问题是当我在我的手机中点击 pickupButton 然后我的手机关闭这个应用程序并转到主屏幕。所以请给出一个解决方案来克服这种情况。

谢谢

最佳答案

您需要提供字段名称而不是您的父键

String longitude= Objects.requireNonNull(dataSnapshot.child("latitude").getValue(String.class));
String latitude= Objects.requireNonNull(dataSnapshot.child("longitude").getValue(String.class));

关于java - 在 Android Studio 中从 firebase 检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59444416/

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