Как проверить, совпадают ли атрибуты пользователя, вошедшего в систему в данный момент, с атрибутами другой таблицы в Android?

#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. Какой именно?