Projektarbeit
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MainActivity.java 7.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. package de.edotzlaff.schockwelle;
  2. import androidx.annotation.NonNull;
  3. import androidx.fragment.app.FragmentActivity;
  4. import android.app.Dialog;
  5. import android.content.Intent;
  6. import android.os.Bundle;
  7. import android.util.Log;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.Toast;
  11. import com.google.android.gms.common.ConnectionResult;
  12. import com.google.android.gms.common.GoogleApiAvailability;
  13. import com.google.android.gms.tasks.OnCompleteListener;
  14. import com.google.android.gms.tasks.Task;
  15. import com.google.firebase.database.DataSnapshot;
  16. import com.google.firebase.database.DatabaseReference;
  17. import com.google.firebase.database.FirebaseDatabase;
  18. public class MainActivity extends FragmentActivity {
  19. private static final String TAG = "MainActivity";
  20. private static final int ERROR_DIALOG_REQUEST = 9001;
  21. private DatabaseReference mDatenbank;
  22. @Override
  23. protected void onCreate(Bundle savedInstanceState) {
  24. super.onCreate(savedInstanceState);
  25. setContentView(R.layout.activity_main);
  26. if (isServiceOK()){
  27. init();
  28. }
  29. }
  30. private void init(){
  31. Button btnEarthquake = (Button) findViewById(R.id.btnEarthquake);
  32. Button btnSensor = (Button) findViewById(R.id.btnSensor);
  33. Button btnMuster = (Button) findViewById(R.id.buttonDatenBankMuster);
  34. Button btnLeer = (Button) findViewById(R.id.buttonDatenBankLeeren);
  35. Button btnReset = (Button) findViewById(R.id.buttonReset);
  36. btnEarthquake.setEnabled(false);
  37. btnEarthquake.setOnClickListener(new View.OnClickListener() {
  38. @Override
  39. public void onClick(View v) {
  40. Intent intent = new Intent(MainActivity.this, EarthquakeMapsActivity.class);
  41. btnEarthquake.setEnabled(false);
  42. btnSensor.setEnabled(false);
  43. startActivity(intent);
  44. }
  45. });
  46. btnSensor.setEnabled(false);
  47. btnSensor.setOnClickListener(new View.OnClickListener() {
  48. @Override
  49. public void onClick(View v) {
  50. Intent intent = new Intent(MainActivity.this, SensorMapsActivity.class);
  51. btnSensor.setEnabled(false);
  52. btnEarthquake.setEnabled(false);
  53. startActivity(intent);
  54. }
  55. });
  56. btnMuster.setOnClickListener(new View.OnClickListener() {
  57. @Override
  58. public void onClick(View v) {
  59. btnEarthquake.setEnabled(true);
  60. btnSensor.setEnabled(true);
  61. btnLeer.setEnabled(false);
  62. btnMuster.setEnabled(false);
  63. btnReset.setEnabled(true);
  64. deviceInitDataBase();
  65. }
  66. });
  67. btnLeer.setOnClickListener(new View.OnClickListener() {
  68. @Override
  69. public void onClick(View v) {
  70. btnEarthquake.setEnabled(true);
  71. btnSensor.setEnabled(true);
  72. btnMuster.setEnabled(false);
  73. btnReset.setEnabled(true);
  74. btnLeer.setEnabled(false);
  75. datenBankLeeren();
  76. }
  77. });
  78. btnReset.setEnabled(false);
  79. btnReset.setOnClickListener(new View.OnClickListener() {
  80. @Override
  81. public void onClick(View v) {
  82. getDataBaseValuesNoListener();
  83. btnMuster.setEnabled(true);
  84. btnLeer.setEnabled(true);
  85. }
  86. });
  87. }
  88. public boolean isServiceOK(){
  89. Log.d(TAG, "isServicesOK(): checking google services version");
  90. int available = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(MainActivity.this);
  91. if (available== ConnectionResult.SUCCESS){
  92. Log.d(TAG,"isServicesOK: Google Play Services is working");
  93. return true;
  94. }
  95. else if (GoogleApiAvailability.getInstance().isUserResolvableError(available)){
  96. Log.d(TAG, "isServicesOK(): an error occured but we can fix it");
  97. Dialog dialog = GoogleApiAvailability.getInstance().getErrorDialog(MainActivity.this, available, ERROR_DIALOG_REQUEST);
  98. dialog.show();
  99. }
  100. else {
  101. Toast.makeText(this, "You can`t make map request", Toast.LENGTH_SHORT).show();
  102. }
  103. return false;
  104. }
  105. public void deviceInitDataBase()
  106. {
  107. mDatenbank = FirebaseDatabase.getInstance().getReference();
  108. Devices d1 = new Devices("","","",49.58967957913626,11.011387124069765,false,false,0,1000); //Erlangen 49.58967957913626, 11.011387124069765
  109. Devices d2 = new Devices("","","",48.7560280895443,11.425157702952347,false,false,0,1000); //Ingolstadt 48.7560280895443, 11.425157702952347
  110. Devices d3 = new Devices("","","",48.16958655466396,11.617418429524394,false,false,0,1000); //München 48.16958655466396, 11.617418429524394
  111. Devices d4 = new Devices("","","",45.55620112204013,12.342516140205387,false,false,0,1000); //Venedig 45.55620112204013, 12.342516140205387
  112. Devices d5 = new Devices("","","",41.9204784730154,12.651055829215638,false,false,0,1000); //Rom 41.9204784730154, 12.651055829215638
  113. mDatenbank.child("overviewnodes").child("IDG1").setValue(d1);
  114. mDatenbank.child("overviewnodes").child("IDG2").setValue(d2);
  115. mDatenbank.child("overviewnodes").child("IDG3").setValue(d3);
  116. mDatenbank.child("overviewnodes").child("IDG4").setValue(d4);
  117. mDatenbank.child("overviewnodes").child("IDG5").setValue(d4);
  118. mDatenbank.child("overviewnodes").child("IDG5").setValue(d5);
  119. }
  120. public void getDataBaseValuesNoListener()
  121. {
  122. mDatenbank = FirebaseDatabase.getInstance().getReference();
  123. mDatenbank.child("overviewnodes").get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
  124. @Override
  125. public void onComplete(@NonNull Task<DataSnapshot> task) {
  126. if (!task.isSuccessful()) {
  127. System.out.println("Error getting data: " + task.getException());
  128. }
  129. else {
  130. testProcess(task.getResult());
  131. }
  132. }
  133. });
  134. }
  135. public void datenBankLeeren()
  136. {
  137. mDatenbank = FirebaseDatabase.getInstance().getReference();
  138. for (int i = 1; i<=5; i++)
  139. {
  140. mDatenbank.child("overviewnodes").child("IDG" + i).child("a_androidid").setValue("");
  141. mDatenbank.child("overviewnodes").child("IDG" + i).child("b_localdatetime").setValue("");
  142. mDatenbank.child("overviewnodes").child("IDG" + i).child("c_ip").setValue("");
  143. mDatenbank.child("overviewnodes").child("IDG" + i).child("d_breitengrad").setValue("");
  144. mDatenbank.child("overviewnodes").child("IDG" + i).child("e_laengengrad").setValue("");
  145. mDatenbank.child("overviewnodes").child("IDG" + i).child("f_nativegps").setValue(true);
  146. mDatenbank.child("overviewnodes").child("IDG" + i).child("g_vibration").setValue(false);
  147. mDatenbank.child("overviewnodes").child("IDG" + i).child("h_timestamp").setValue("");
  148. mDatenbank.child("overviewnodes").child("IDG" + i).child("i_amplitude").setValue("");
  149. }
  150. }
  151. public void testProcess(DataSnapshot data)
  152. {
  153. mDatenbank = FirebaseDatabase.getInstance().getReference().child("overviewnodes");
  154. }
  155. }