저는 Android 및 Firebase 개발의 초보자입니다. 내 응용 프로그램의 버튼을 firebase에 저장하고 검색하는 작업을하고 있습니다. 내 자바 코딩은 약하다. 내 개념은 다음과 같습니다. 사용자가 앱에서 버튼을 클릭하면 클릭 한 버튼의 상태가 동일한 앱으로 다른 휴대 전화에서 업데이트되어야합니다.Firebase의 DataChange 클래스를 통해 android 앱에서 버튼 클릭 이벤트 업데이트
I 버튼 상태를 저장 할 수 있었다 :
public void onClick(View v) {
String onoff="";
HashMap<String,Object> Update = new HashMap<>();
switch(v.getId()){
case R.id.living_btn:
if (click ==0){
click=1;
onoff = "/SWITCH-01=ON";
Update.put("clicked",onoff);
buttons.child("living_btn").updateChildren(Update);
living_btn.setBackgroundResource(R.drawable.livingroom);
}else{
click=0;
onoff = "/SWITCH-01=OFF";
Update.put("clicked",onoff);
buttons.child("living_btn").updateChildren(Update);
living_btn.setBackgroundResource(R.drawable.livingroom_off);
}
break;
내가 데이터베이스에서 데이터를 검색하려면, 그래서 별도의 클래스를 생성 :
this link is for my database structure figure 내가 저장하는 데 사용되는 코드입니다 각 버튼마다. 그리고 주요 활동에서 그들을 호출하는 다음 코드를 사용 :
final DatabaseReference ref = database.getReference("Buttons");
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.e("data",dataSnapshot.getValue().toString());
Buttons buttonEntity = dataSnapshot.getValue(Buttons.class);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
하지만 데이터를 내가 의해, dataChange 클래스를 선택한 방법은 올바른입니다 검색 할 수있어? 제가 잘못 가고있는 곳을 알려주십시오.
는 "데이터베이스"의 참조를 표시합니다. database.getReference ("Buttons") – Rahul
@rasi 나는 당신을 얻지 못했습니다. – ra22
@Rasi "버튼"은 다른 모든 버튼 값을 자식으로 저장하는 데이터베이스의 부모 노드이며 "buttons = FirebaseDatabase. getReference ("Buttons ")"로 작성되었습니다. – ra22