Здесь я работаю над проектом, основанным на парковке в android. При этом пользователь сначала выбирает комплекс, а затем выбирает место для парковки, а затем записывает место, где это мой сценарий. Вот мой вопрос: если пользователь бронирует место в определенном комплексе, то как отключить это конкретное место для других пользователей.
Я даю места в флажке и не хочу использовать переключатель, потому что один Пользователь может забронировать место для своих друзей, чтобы пользователь мог забронировать два места.
Я просто добавил значения и другие подробности в базу данных Firebase, и мой код для добавления значений в базу данных:
Это мой код для загрузки значений в базу данных:
checkupdate = FirebaseDatabase.getInstance().getReference().child("Users").child(coID).child(slotID).child(place).child(phone).child("place");
Avilsize = FirebaseDatabase.getInstance().getReference().child("Users").child(coID).child(slotID).child(place).child(phone);
HashMap<String, Object> avilsizetMap = new HashMap<>();
if (place.equals("place1"))
{
int a = check + 1;
bookplace = (String) "place1";
check = a;
String b = "value" + a;
HashMap<String, Object> checkmap = new HashMap<>();
checkmap.put("Value", "place1");
checkupdate.child(b).updateChildren(checkmap);
}
if (place.equals("place2")) {
int a = check + 1;
bookplace = bookplace + "/" + (String) "place2";
check = a;
String b = "value" + a;
HashMap<String, Object> checkmap = new HashMap<>();
checkmap.put("Value", "place2");
checkupdate.child(b).updateChildren(checkmap);
}
if (place.equals("place3")) {
int a = check + 1;
bookplace = bookplace + "/" + (String) "place3";
check = a;
String b = "value" + a;
HashMap<String, Object> checkmap = new HashMap<>();
checkmap.put("Value", "place3");
checkupdate.child(b).updateChildren(checkmap);
}
if (place.equals("place4")) {
int a = check + 1;
bookplace = bookplace + "/" + (String) "place4";
check = a;
String b = "value" + a;
HashMap<String, Object> checkmap = new HashMap<>();
checkmap.put("Value", "place4");
checkupdate.child(b).updateChildren(checkmap);
}
if (place.equals("place5")) {
int a = check + 1;
bookplace = bookplace + "/" + (String) "place5";
check = a;
String b = "value" + a;
HashMap<String, Object> checkmap = new HashMap<>();
checkmap.put("Value", "place5");
checkupdate.child(b).updateChildren(checkmap);
}
if (place.equals("place6")) {
int a = check + 1;
bookplace = bookplace + "/" + (String) "place6";
check = a;
String b = "value" + a;
HashMap<String, Object> checkmap = new HashMap<>();
checkmap.put("Value", "place6");
checkupdate.child(b).updateChildren(checkmap);
}
avilsizetMap.put("book_place", bookplace);
Avilsize.updateChildren(avilsizetMap);
моя структура базы данных
Я попробовал один набор кода для получения значений, но это не работает, и код здесь
final List<String > areas = new ArrayList<>();
for (DataSnapshot areaSnapshot : dataSnapshot.getChildren())
{
String areaName = areaSnapshot.child("Value").getValue(String.class);
areas.add(areaName);
}
for (String area : areas)
{
if(area.equals("place1"))
{
Place1.setChecked(true);
}
if(area.equals("place2")){
Place2.setChecked(true);
}
if(area.equals("Place3")){
Place3.setChecked(true);
}
if(area.equals("Place4")){
Place4.setChecked(true);
}
if(area.equals("Place5")){
Place5.setChecked(true);
}
if(area.equals("Place6")){
Place6.setChecked(true);
}
}
это мой макет в xml
<LinearLayout
android:id="@+id/ll1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#FFF"
android:gravity="center"
android:layout_marginRight="20dp"
android:layout_marginLeft="20dp"
android:orientation="horizontal"
android:padding="20dp">
<TableLayout
android:padding="3dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchColumns="3">
<TableRow>
<CheckBox
android:id="@+id/pl1"
android:layout_width="40dp"
android:layout_height="40dp"
android:tag="place1"
android:button="@drawable/checkbox_bg"
/>
<CheckBox
android:id="@+id/pl2"
android:layout_width="40dp"
android:tag="place2"
android:layout_height="40dp"
android:button="@drawable/checkbox_bg"
/>
<CheckBox
android:id="@+id/pl3"
android:layout_width="40dp"
android:tag="place3"
android:layout_height="40dp"
android:button="@drawable/checkbox_bg"
/>
</TableRow>
</TableLayout>
<TableLayout
android:id="@+id/table2"
android:layout_marginLeft="70dp"
android:layout_width="wrap_content"
android:padding="3dp"
android:layout_height="wrap_content"
android:stretchColumns="3">
<TableRow>
<CheckBox
android:id="@+id/pl4"
android:layout_width="40dp"
android:layout_height="40dp"
android:tag="place4"
android:button="@drawable/checkbox_bg"
/>
<CheckBox
android:id="@+id/pl5"
android:layout_width="40dp"
android:layout_height="40dp"
android:tag="place5"
android:button="@drawable/checkbox_bg"
/>
<CheckBox
android:id="@+id/pl6"
android:layout_width="40dp"
android:layout_height="40dp"
android:tag="place6"
android:button="@drawable/checkbox_bg"
/>
</TableRow>
</TableLayout>
</LinearLayout>
<Button
android:id="@+id/next"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:textColor="#FFF"
android:layout_marginBottom="10dp"
android:textSize="30sp"
android:fontFamily="cursive"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:padding="5dp"
android:background="@drawable/btn_bg"
android:text="Book" />
Я надеюсь, что кто-то даст мне решение, спасибо ...