@egorchikJava

Почему не удается получить данные из Firebase realtime?

Я прописал чтобы когда пользователь добавляет информацию то он передает еще с ней свой uid у другого пользователя при приеме uid происходит сравнение принятого uid с uid из папки с пользователями . Если они совпали происходит прием данных определенного пользователя(номер,имя).
Модель пользователя
public class ShopUser {
    private String client_shop,numberphone_shop,ShopInfouid;
    public ShopUser(){

    }

    public ShopUser(String client_shop, String numberphone_shop, String shopInfouid) {
        this.client_shop = client_shop;
        this.numberphone_shop = numberphone_shop;
    this.ShopInfouid=shopInfouid;
    }

    public String getClient_shop() {
        return client_shop;
    }

    public void setClient_shop(String client_shop) {
        this.client_shop = client_shop;
    }

    public String getNumberphone_shop() {
        return numberphone_shop;
    }

    public void setNumberphone_shop(String numberphone_shop) {
        this.numberphone_shop = numberphone_shop;
    }

    public String getShopInfouid() {
        return ShopInfouid;
    }

    public void setShopInfouid(String shopInfouid) {
        ShopInfouid = shopInfouid;
    }
}

метод приема с проверкой
ShopInfoRef.orderByChild("ShopInfouid").equalTo(getIntent().getExtras().get("UidShop").toString())
////UidSop это принятый uid переносится из другого активити  а ShopInfouid это uid пользователя так называется в бд////
            .addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot snapshot) {
                    if (snapshot.exists() && snapshot.getChildrenCount() > 0) {
phone=snapshot.getValue(ShopUser.class).getNumberphone_shop();
                    }else {
                        Toast.makeText(OplataActivity.this, "Данных нет", Toast.LENGTH_SHORT).show();
                    }
                }
                @Override
                public void onCancelled(@NonNull DatabaseError error) {

                }
            });

инициализация
private String phone;
    ShopInfoRef=FirebaseDatabase.getInstance().getReference().child("shop");

пытался проверить в лог д
но выдало ошибку что стринг phone имеет нулевое значение
и пытался передать этот стринг в метод открытия телефона но там не выходит нужный номер
вот метод
image_phone_shop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Intent ohoneIntent=new Intent(Intent.ACTION_DIAL);
                ohoneIntent.setData(Uri.parse("tel:"+ phone));
                startActivity(ohoneIntent);
            }
        });

папка с пользователями для приема их данных и сравнения uid с пользователями этой папки с принятым uid
637dddf949890386509812.png
папка с информацией и uid для сравнения.
637dde4ea7393584255304.png
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы