2017-09-16 1 views
0

Firebase에서 내 데이터를 비교하는 코드를 작성하는 방법은 무엇입니까? 내 Firebase에서 "당뇨병"은 사용자가 약을 사기를 원할 때 데이터베이스를 자동으로 작성하여 사용자가 당뇨병 환자 일 경우 사용자 정보를 비교하는 방법으로 사용자가 약을 구입할 수 없게합니까?데이터베이스 데이터를 비교하는 방법은 무엇입니까?

https://i.stack.imgur.com/vxe2q.png

DatabaseReference myRef = FirebaseDatabase.getInstance().getReference(); 
    FirebaseAuth auth = FirebaseAuth.getInstance(); 
    FirebaseUser mUser = auth.getCurrentUser(); 
    userID = mUser.getUid(); 

    btnSubmit.setOnClickListener(this); 
    btnCancel.setOnClickListener(this); 
} 

private void submit(){ 
    myRef.child("Users"); 
    myRef.child(userID); 
    myRef.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      UserInformation user = dataSnapshot.getValue(UserInformation.class); 

      if(user!=null) { 
       if(user.getMedical().equals("Diabetes")) 
        Toast.makeText(getApplicationContext(),"Diabetes",Toast.LENGTH_LONG).show(); 
       else 
        Toast.makeText(getApplicationContext(),"Not Not Diabetes",Toast.LENGTH_LONG).show(); 
       myRef.child("Medicines").child("Pain and Fever").child(userID).setValue("Acetaminophen"); 
       startActivity(new Intent(getApplicationContext(),MainActivity.class)); 
      } 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 
} 
Databasehalper 클래스에서
public UserInformation(String name, String address, String phone_num,String gender,String country,String medicine,String medical) { 
    this.address = address; 
    this.name = name; 
    this.phone_num = phone_num; 
    this.gender = gender; 
    this.country = country; 
    this.medicine = medicine; 
    this.medical = medical; 
} 

public String getMedical(){return medical;} 

public void setMedical(String medical){this.medical = medical;} 
+0

당신이 – Salman500

+0

당신이 당신의 중포 기지 데이터 구조의 모든 사용자가 예를 들어 당신의 UserInformation 클래스 – Salman500

+0

라인 보여줘 나를 당신의 UserInformation 클래스를 표시 할 수 있습니다, 사용자의 일부는 없습니다 의료 노드 그러면 그것은 null을 반환합니다 – Salman500

답변

-2

Userinformation

문자열 SQL = "TABLENAME SELECT * FROM WHERE 이름 = '"+ datamodel_app.getFood_name() + "'" ; 커서 = mDatabase.rawQuery (sql, null); 경우 (cursor.getCount()> 0)

{

// 여기에 코드를 않습니다. 다른

}

{

}

+0

그는 firebase 아닌 sqlite를 사용하고 있습니다 – Salman500

0
DatabaseReference mReference = FirebaseDatabase.getInstance().getReference();  
    FirebaseAuth auth = FirebaseAuth.getInstance(); 
    FirebaseUser mUser = auth.getCurrentUser(); 
    // this code will check if user has Diabetes or not 
mReference.child("Users").child(user.getUid()).addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 

     UserClass user = dataSnapshot.getValue(UserClass.class); 

     if(user!=null) 
     { 
      if(user.medical.equals("Diabetes")) 
       Snackbar.make(findViewById(android.R.id.content),"Diabetes",Snackbar.LENGTH_LONG).show(); 
      else 
       Snackbar.make(findViewById(android.R.id.content),"Not Not Diabetes",Snackbar.LENGTH_LONG).show(); 

     } 

    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 

    } 

});

+0

스낵바 사용 방법? – Bleach

+0

Snackbar를 사용할 수 없습니다. 코드를 편집하여 확인하도록 도울 수 있습니까? – Bleach

+0

귀하의 gradle 파일에 Google 디자인 라이브러리를 추가하십시오. 'com.android.support:design:26.1.0' – Salman500

관련 문제