Сбой активности после добавления базы данных в реальном времени - PullRequest
0 голосов
/ 22 октября 2018

У меня есть действие, где я использую пользовательскую библиотеку для своих датчиков, и вот мой код

package com.smart_farming.smart_farming_app;

public class DeviceCards extends AppCompatActivity {

    View view =  null;
    private pl.pawelkleczkowski.customgauge.CustomGauge moistureGauge, humidityGauge, temperatureGauge;
    int soil;
    int humidity;
    int temp;

    private static final String TAG = "DeviceCards";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_device_cards);

        moistureGauge = view.findViewById(R.id.soil_moisture_gauge);
        humidityGauge = view.findViewById(R.id.humidity_gauge);
        temperatureGauge = view.findViewById(R.id.temp_gauge);
        TextView lols = view.findViewById(R.id.textView2);

        FirebaseDatabase database = FirebaseDatabase.getInstance();
        DatabaseReference myRef = database.getReference("soilMoisture").child("moisture");

        myRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                String value = dataSnapshot.getValue(String.class);
                int  resultSoil = Integer.parseInt(value);
                moistureGauge.setValue(resultSoil);
            }

            @Override
            public void onCancelled(DatabaseError error) {
                // Failed to read value
                Log.w(TAG, "Failed to read value.", error.toException());
            }
        });
    }
}

Это моя схема базы данных

schema

Также это нормально

enter image description here

Появляются ошибки, за исключением случаев, когда я открываю приложение, происходит сбой активности.

1 Ответ

0 голосов
/ 22 октября 2018

Изменить с

moistureGauge = view.findViewById(R.id.soil_moisture_gauge);
humidityGauge = view.findViewById(R.id.humidity_gauge);
temperatureGauge = view.findViewById(R.id.temp_gauge);
TextView lols = view.findViewById(R.id.textView2);

На

moistureGauge = findViewById(R.id.soil_moisture_gauge);
humidityGauge = findViewById(R.id.humidity_gauge);
temperatureGauge = findViewById(R.id.temp_gauge);
TextView lols = findViewById(R.id.textView2); 

Так как его Activity findViewById достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...