#java #android #firebase #firebase-realtime-database
#java #Android #firebase #firebase-realtime-database
Вопрос:
Как я могу проверить, совпадают ли атрибуты пользователя, вошедшего в систему в данный момент (таблица пользователей), с атрибутами другой таблицы (таблица диетических упражнений), если они равны, отображается соответствующий план диеты.
Ниже приведена таблица firebase DietExercise
DietExercise
-1
-Age: 20
-ArtheritisPatient: "yes"
-BMI: "Overweight"
-Chol_level: "High"
-DiabetesPatient: "yes"
-DietPlan: "Breakfast - Boiled Chickpea 1 cup, scraped coco..."
-ExercisePlan: "Contact your doctor for exercise plans"
-Gender: "Male"
-HeartPatient: "yes"
Ниже приведена таблица пользователей firebase
Users
-0771212122
ArthritisP: "no"
BMI: "Overweight "
CholesterolLevel: "High"
DiabetesP: "yes"
HeartP: "no"
age: "32"
name: "Siliya"
password: ""
phoneNumber: "0771212122"
Ниже приведен код.
public class dplanActivity extends AppCompatActivity {
TextView a;
private String parentDbName1 = "Users";
private String parentDbName2 = "DietExercise";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dplan);
a=(TextView)findViewById(R.id.textViewD);
final DatabaseReference RootRef;
RootRef = FirebaseDatabase.getInstance().getReference();
RootRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.child(parentDbName1).child("age").equals(dataSnapshot.child(parentDbName2).child("Age"))) {
if (dataSnapshot.child(parentDbName1).child("BMI").equals(dataSnapshot.child(parentDbName2).child("BMI"))) {
if (dataSnapshot.child(parentDbName1).child("CholesterolLevel").equals(dataSnapshot.child(parentDbName2).child("Chol_level"))) {
if (dataSnapshot.child(parentDbName1).child("DiabetesP").equals(dataSnapshot.child(parentDbName2).child("DiabetesPatient"))) {
if (dataSnapshot.child(parentDbName1).child("HeartP").equals(dataSnapshot.child(parentDbName2).child("HeartPatient"))) {
if (dataSnapshot.child(parentDbName1).child("ArthritisP").equals(dataSnapshot.child(parentDbName2).child("ArtheritisPatient"))) {
String diet=dataSnapshot.child(parentDbName2).child("DietPlan").getValue().toString();
a.setText(diet);
}
}
}
}
}
}
}
Комментарии:
1. Какие точные атрибуты, которые вы хотели бы знать, являются «равными»?
2. Пользователи @AlexMamo (возраст, ИМТ, уровень холестерина, диабет, сердцебиение, артрит) == Диетические упражнения (возраст, ИМТ, уровень холестерина, пациент с диабетом, пациент с сердцем, пациент с артритом)
3. Итак, вы хотите проверить, равен ли объект типа
Users
«объекту типаDietExercise
«?4. @AlexMamo Да, я хочу проверить, что атрибут в таблице пользователей «равен» атрибутам в таблице диетических упражнений
5. Какой именно?