Professional Documents
Culture Documents
Package Com
Package Com
android_garden;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.view.Menu;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import com.google.android.material.navigation.NavigationView;
import androidx.annotation.NonNull;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.appcompat.app.AppCompatActivity;
import com.example.android_garden.databinding.ActivityMain3Binding;
//////////////////////////////////////////////
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.ValueEventListener;
import android.util.Log;
import android.widget.Toast;
import android.app.AlertDialog;
import android.content.DialogInterface;
import com.github.mikephil.charting.charts.LineChart;
import java.util.Timer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMain3Binding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
setSupportActionBar(binding.appBarMain.toolbar);
DrawerLayout drawer = binding.drawerLayout;
NavigationView navigationView = binding.navView;
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_home, R.id.nav_manage, R.id.nav_graph)
.setOpenableLayout(drawer)
.build();
NavController navController = Navigation.findNavController(this,
R.id.nav_host_fragment_content_main);
NavigationUI.setupActionBarWithNavController(this, navController,
mAppBarConfiguration);
NavigationUI.setupWithNavController(navigationView, navController);
auto_or_manual();
readdata();
writedata();
}
myRef1.setValue(timeValue1);
myRef2.setValue(timeValue2);
myRef3.setValue(timeValue3);
}
}
});
bt_fanon = (Button) findViewById(R.id.bt_fanon);
bt_lighton = (Button) findViewById(R.id.bt_lighton);
bt_pumpon = (Button) findViewById(R.id.bt_pumpon);
bt_fanoff = (Button) findViewById(R.id.bt_fanoff);
bt_lightoff = (Button) findViewById(R.id.bt_lightoff);
bt_pumpoff = (Button) findViewById(R.id.bt_pumpoff);
bt_fanon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatabaseReference feedback =
FirebaseDatabase.getInstance().getReference("button_denled");
feedback.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot
snapshot) {
String value = snapshot.getValue(String.class);
if (value != null && value.equals("1")) {
FirebaseDatabase database =
FirebaseDatabase.getInstance();
DatabaseReference myRef =
database.getReference("button_quat");
myRef.setValue("1");
} else {
Toast.makeText(getApplicationContext(), "ĐANG Ở
CHẾ ĐỘ TỰ ĐỘNG KHÔNG DÙNG ĐƯỢC CHỨC NĂNG NÀY", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Log.w(MainActivity3.class.getSimpleName(), "Failed
to read value.", error.toException());
}
});
}
});
bt_fanoff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatabaseReference feedback =
FirebaseDatabase.getInstance().getReference("button_denled");
feedback.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot
snapshot) {
String value = snapshot.getValue(String.class);
if (value != null && value.equals("1")) {
FirebaseDatabase database =
FirebaseDatabase.getInstance();
DatabaseReference myRef =
database.getReference("button_quat");
myRef.setValue("11");
} else {
Toast.makeText(getApplicationContext(), "ĐANG Ở
CHẾ ĐỘ TỰ ĐỘNG KHÔNG DÙNG ĐƯỢC CHỨC NĂNG NÀY", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Log.w(MainActivity3.class.getSimpleName(), "Failed
to read value.", error.toException());
}
});
}
});
bt_lighton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatabaseReference feedback =
FirebaseDatabase.getInstance().getReference("button_denled");
feedback.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot
snapshot) {
String value = snapshot.getValue(String.class);
if (value != null && value.equals("1")) {
FirebaseDatabase database =
FirebaseDatabase.getInstance();
DatabaseReference myRef =
database.getReference("button_den");
myRef.setValue("3");
} else {
Toast.makeText(getApplicationContext(), "ĐANG Ở
CHẾ ĐỘ TỰ ĐỘNG KHÔNG DÙNG ĐƯỢC CHỨC NĂNG NÀY", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Log.w(MainActivity3.class.getSimpleName(), "Failed
to read value.", error.toException());
}
});
}
});
bt_lightoff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatabaseReference feedback =
FirebaseDatabase.getInstance().getReference("button_denled");
feedback.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot
snapshot) {
String value = snapshot.getValue(String.class);
if (value != null && value.equals("1")) {
FirebaseDatabase database =
FirebaseDatabase.getInstance();
DatabaseReference myRef =
database.getReference("button_den");
myRef.setValue("33");
} else {
Toast.makeText(getApplicationContext(), "ĐANG Ở
CHẾ ĐỘ TỰ ĐỘNG KHÔNG DÙNG ĐƯỢC CHỨC NĂNG NÀY", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Log.w(MainActivity3.class.getSimpleName(), "Failed
to read value.", error.toException());
}
});
}
});
bt_pumpon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatabaseReference feedback =
FirebaseDatabase.getInstance().getReference("button_denled");
feedback.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot
snapshot) {
String value = snapshot.getValue(String.class);
if (value != null && value.equals("1")) {
FirebaseDatabase database =
FirebaseDatabase.getInstance();
DatabaseReference myRef =
database.getReference("button_bom");
myRef.setValue("2");
} else {
Toast.makeText(getApplicationContext(), "ĐANG Ở
CHẾ ĐỘ TỰ ĐỘNG KHÔNG DÙNG ĐƯỢC CHỨC NĂNG NÀY", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Log.w(MainActivity3.class.getSimpleName(), "Failed
to read value.", error.toException());
}
});
}
});
bt_pumpoff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatabaseReference feedback =
FirebaseDatabase.getInstance().getReference("button_denled");
feedback.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot
snapshot) {
String value = snapshot.getValue(String.class);
if (value != null && value.equals("1")) {
FirebaseDatabase database =
FirebaseDatabase.getInstance();
DatabaseReference myRef =
database.getReference("button_bom");
myRef.setValue("22");
} else {
Toast.makeText(getApplicationContext(), "ĐANG Ở
CHẾ ĐỘ TỰ ĐỘNG KHÔNG DÙNG ĐƯỢC CHỨC NĂNG NÀY", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Log.w(MainActivity3.class.getSimpleName(), "Failed
to read value.", error.toException());
}
});
}
});
}
DataSensor.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String doAm =
dataSnapshot.child("doam").getValue(String.class);
String doAmDat =
dataSnapshot.child("doamdat").getValue(String.class);
String nhietDo =
dataSnapshot.child("nhietdo").getValue(String.class);
readdoam.setText(doAm + "%");
readdoamdat.setText(doAmDat + "%");
readnhietdo.setText(nhietDo + "℃");
}
@Override
public void onCancelled(DatabaseError error) {
Log.w(MainActivity3.class.getSimpleName(), "Failed to read
value.", error.toException());
}
});
DataActuator =
FirebaseDatabase.getInstance().getReference().child("trangthai");
DataActuator.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
String lightStatus =
snapshot.child("RELAY_1").getValue(String.class);
String fanStatus =
snapshot.child("RELAY_2").getValue(String.class);
String pumpStatus =
snapshot.child("RELAY_3").getValue(String.class);
if (lightStatus != null) {
if (lightStatus.equals("lamp_on")) {
readden.setImageResource(R.drawable.lampon);
} else {
readden.setImageResource(R.drawable.lampoff);
}
}
if (fanStatus != null) {
if (fanStatus.equals("fan_on")) {
readquat.setImageResource(R.drawable.fanon);
} else {
readquat.setImageResource(R.drawable.fanoff);
}
}
if (pumpStatus != null) {
if (pumpStatus.equals("pump_on")) {
readbom.setImageResource(R.drawable.pumpon1);
} else {
readbom.setImageResource(R.drawable.pumpoff1);
}
}
}
@Override
public void onCancelled(DatabaseError error) {
// Xử lý lỗi nếu có
Log.w(MainActivity3.class.getSimpleName(), "Failed to read
value.", error.toException());
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate(R.menu.main_activity3, menu);
return true;
}
@Override
public boolean onSupportNavigateUp() {
NavController navController = Navigation.findNavController(this,
R.id.nav_host_fragment_content_main);
return NavigationUI.navigateUp(navController, mAppBarConfiguration)
|| super.onSupportNavigateUp();
}