From a4cb71a8f3756cdceb93ec9f29af9cadd04908cc Mon Sep 17 00:00:00 2001 From: Raz492 Date: Mon, 28 Jun 2021 11:42:46 +0200 Subject: [PATCH] Alpha Version 3.1 - Ohne DB Schreibkonflikte --- .../de/edotzlaff/schockwelle/Datenbank.java | 2 +- .../edotzlaff/schockwelle/MainActivity.java | 34 ++++----- .../schockwelle/SensorMapsActivity.java | 74 +++++++++---------- 3 files changed, 55 insertions(+), 55 deletions(-) diff --git a/app/src/main/java/de/edotzlaff/schockwelle/Datenbank.java b/app/src/main/java/de/edotzlaff/schockwelle/Datenbank.java index f9757c8..b51274d 100644 --- a/app/src/main/java/de/edotzlaff/schockwelle/Datenbank.java +++ b/app/src/main/java/de/edotzlaff/schockwelle/Datenbank.java @@ -35,7 +35,7 @@ public class Datenbank { private long h_timestamp; private int i_amplitude; private int w_wellengeschwindigkeit; - private DatabaseReference mDatenbank = FirebaseDatabase.getInstance().getReference().child("aron"); + private DatabaseReference mDatenbank = FirebaseDatabase.getInstance().getReference().child("overviewnodes"); private String TAG = "Datenbank"; DataSnapshot DatenBankInhalt; diff --git a/app/src/main/java/de/edotzlaff/schockwelle/MainActivity.java b/app/src/main/java/de/edotzlaff/schockwelle/MainActivity.java index f12ebd6..ecbeef6 100644 --- a/app/src/main/java/de/edotzlaff/schockwelle/MainActivity.java +++ b/app/src/main/java/de/edotzlaff/schockwelle/MainActivity.java @@ -149,18 +149,18 @@ public class MainActivity extends FragmentActivity { Devices d3 = new Devices("","","",48.16958655466396,11.617418429524394,false,false,0,1000,10); //München 48.16958655466396, 11.617418429524394 Devices d4 = new Devices("","","",45.55620112204013,12.342516140205387,false,false,0,1000,10); //Venedig 45.55620112204013, 12.342516140205387 Devices d5 = new Devices("","","",41.9204784730154,12.651055829215638,false,false,0,1000,10); //Rom 41.9204784730154, 12.651055829215638 - mDatenbank.child("aron").child("IDG1").setValue(d1); - mDatenbank.child("aron").child("IDG2").setValue(d2); - mDatenbank.child("aron").child("IDG3").setValue(d3); - mDatenbank.child("aron").child("IDG4").setValue(d4); - mDatenbank.child("aron").child("IDG5").setValue(d4); - mDatenbank.child("aron").child("IDG5").setValue(d5); + mDatenbank.child("overviewnodes").child("IDG1").setValue(d1); + mDatenbank.child("overviewnodes").child("IDG2").setValue(d2); + mDatenbank.child("overviewnodes").child("IDG3").setValue(d3); + mDatenbank.child("overviewnodes").child("IDG4").setValue(d4); + mDatenbank.child("overviewnodes").child("IDG5").setValue(d4); + mDatenbank.child("overviewnodes").child("IDG5").setValue(d5); } public void getDataBaseValuesNoListener() { mDatenbank = FirebaseDatabase.getInstance().getReference(); - mDatenbank.child("aron").get().addOnCompleteListener(new OnCompleteListener() { + mDatenbank.child("overviewnodes").get().addOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { if (!task.isSuccessful()) { @@ -178,20 +178,20 @@ public class MainActivity extends FragmentActivity { mDatenbank = FirebaseDatabase.getInstance().getReference(); for (int i = 1; i<=5; i++) { - mDatenbank.child("aron").child("IDG" + i).child("a_androidid").setValue(""); - mDatenbank.child("aron").child("IDG" + i).child("b_localdatetime").setValue(""); - mDatenbank.child("aron").child("IDG" + i).child("c_ip").setValue(""); - mDatenbank.child("aron").child("IDG" + i).child("d_breitengrad").setValue(""); - mDatenbank.child("aron").child("IDG" + i).child("e_laengengrad").setValue(""); - mDatenbank.child("aron").child("IDG" + i).child("f_nativegps").setValue(true); - mDatenbank.child("aron").child("IDG" + i).child("g_vibration").setValue(false); - mDatenbank.child("aron").child("IDG" + i).child("h_timestamp").setValue(""); - mDatenbank.child("aron").child("IDG" + i).child("i_amplitude").setValue(""); + mDatenbank.child("overviewnodes").child("IDG" + i).child("a_androidid").setValue(""); + mDatenbank.child("overviewnodes").child("IDG" + i).child("b_localdatetime").setValue(""); + mDatenbank.child("overviewnodes").child("IDG" + i).child("c_ip").setValue(""); + mDatenbank.child("overviewnodes").child("IDG" + i).child("d_breitengrad").setValue(""); + mDatenbank.child("overviewnodes").child("IDG" + i).child("e_laengengrad").setValue(""); + mDatenbank.child("overviewnodes").child("IDG" + i).child("f_nativegps").setValue(true); + mDatenbank.child("overviewnodes").child("IDG" + i).child("g_vibration").setValue(false); + mDatenbank.child("overviewnodes").child("IDG" + i).child("h_timestamp").setValue(""); + mDatenbank.child("overviewnodes").child("IDG" + i).child("i_amplitude").setValue(""); } } public void testProcess(DataSnapshot data) { - mDatenbank = FirebaseDatabase.getInstance().getReference().child("aron"); + mDatenbank = FirebaseDatabase.getInstance().getReference().child("overviewnodes"); } } diff --git a/app/src/main/java/de/edotzlaff/schockwelle/SensorMapsActivity.java b/app/src/main/java/de/edotzlaff/schockwelle/SensorMapsActivity.java index 3a64567..fff1097 100644 --- a/app/src/main/java/de/edotzlaff/schockwelle/SensorMapsActivity.java +++ b/app/src/main/java/de/edotzlaff/schockwelle/SensorMapsActivity.java @@ -316,7 +316,7 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa public void processDataBaseUpdate (DataSnapshot data) { - int indexMax = (int) data.child("aron").getChildrenCount(); + int indexMax = (int) data.child("overviewnodes").getChildrenCount(); //Festellen ob DB oder eigene GPS-Daten verwendet werden sollen if(analyzeForUseOfOwnGPS(data)) { @@ -335,8 +335,8 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa { if(analyzeIfAnroidIdIsEmpty(data,f)) { - String breitengradString = data.child("aron").child("IDG" + f).child("d_breitengrad").getValue().toString(); - String laengengradString = data.child("aron").child("IDG" + f).child("e_laengengrad").getValue().toString(); + String breitengradString = data.child("overviewnodes").child("IDG" + f).child("d_breitengrad").getValue().toString(); + String laengengradString = data.child("overviewnodes").child("IDG" + f).child("e_laengengrad").getValue().toString(); breitengrad = Double.parseDouble(breitengradString); laengengrad = Double.parseDouble(laengengradString); allocateIDtoDatabaseSlot(f); @@ -354,8 +354,8 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa { System.out.println("Index: " + f + ": Eintrittskriterien erfüllt."); //Nehme Quelle GPS Daten - String breitengradString = data.child("aron").child("IDG" + f).child("d_breitengrad").getValue().toString(); - String laengengradString = data.child("aron").child("IDG" + f).child("e_laengengrad").getValue().toString(); + String breitengradString = data.child("overviewnodes").child("IDG" + f).child("d_breitengrad").getValue().toString(); + String laengengradString = data.child("overviewnodes").child("IDG" + f).child("e_laengengrad").getValue().toString(); breitengradQuellVibration = breitengradString; laengengradQuellVibration = laengengradString; @@ -371,7 +371,7 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa //System.out.println("Index: " + f + ": Beide GPS Daten vorhanden. Ich reserviere mir diesen Platz und schreibe hier demnächst rein."); //hier sofort ID eintragen //mDatenbank = FirebaseDatabase.getInstance().getReference(); - //mDatenbank.child("aron").child("IDG" + f).child("a_androidid").setValue(getandroidid()); + //mDatenbank.child("overviewnodes").child("IDG" + f).child("a_androidid").setValue(getandroidid()); float distanceToEarthquake; distanceToEarthquake = distance(currentLocation.getLatitude(), currentLocation.getLongitude(), Double.parseDouble(breitengradQuellVibration), Double.parseDouble(laengengradQuellVibration)); long wellenAusbreitungsGeschwindigkeit = (long) db.getMyWaveSpeed(); //Meter die Sekunde @@ -398,7 +398,7 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa { //System.out.println("Index: " + f + ": Diese Slot war leer oder es ist meine eigene ID. Ich schreibe hier rein"); //mDatenbank = FirebaseDatabase.getInstance().getReference(); - //mDatenbank.child("aron").child("IDG" + f).child("a_androidid").setValue(getandroidid()); + //mDatenbank.child("overviewnodes").child("IDG" + f).child("a_androidid").setValue(getandroidid()); float distanceToEarthquake; distanceToEarthquake = distance(currentLocation.getLatitude(), currentLocation.getLongitude(), Double.parseDouble(breitengradQuellVibration), Double.parseDouble(laengengradQuellVibration)); long wellenAusbreitungsGeschwindigkeit = (long) db.getMyWaveSpeed(); //Meter die Sekunde @@ -424,10 +424,10 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa String nativeGPSString; boolean nativeGPS; int amountNativeGPSisTrue = 0; - int indexMax = (int) data.child("aron").getChildrenCount(); + int indexMax = (int) data.child("overviewnodes").getChildrenCount(); for (int i = 1; i <= indexMax; i++) { - nativeGPSString = data.child("aron").child("IDG" + i).child("f_nativegps").getValue().toString(); + nativeGPSString = data.child("overviewnodes").child("IDG" + i).child("f_nativegps").getValue().toString(); if(nativeGPSString.equals("true")) { amountNativeGPSisTrue++; @@ -448,11 +448,11 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa public boolean analyzeIfAnroidIdIsEmpty(DataSnapshot data, int k) { String androidid; - int indexMax = (int) data.child("aron").getChildrenCount(); + int indexMax = (int) data.child("overviewnodes").getChildrenCount(); boolean androididempty = false; for (int i = k; i <= k; i++) { - androidid = data.child("aron").child("IDG" + i).child("a_androidid").getValue().toString(); + androidid = data.child("overviewnodes").child("IDG" + i).child("a_androidid").getValue().toString(); if(androidid.isEmpty()) { androididempty = true; @@ -468,10 +468,10 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa { String androididString; boolean ownAndroidID = false; - int indexMax = (int) data.child("aron").getChildrenCount(); + int indexMax = (int) data.child("overviewnodes").getChildrenCount(); for (int i = k; i <= k; i++) { - androididString = data.child("aron").child("IDG" + i).child("a_androidid").getValue().toString(); + androididString = data.child("overviewnodes").child("IDG" + i).child("a_androidid").getValue().toString(); if(androididString.equals(getandroidid())) { ownAndroidID = true; @@ -487,10 +487,10 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa { String vibrationString; boolean stateOfVibration = false; - int indexMax = (int) data.child("aron").getChildrenCount(); + int indexMax = (int) data.child("overviewnodes").getChildrenCount(); for (int i = k; i <= k; i++) { - vibrationString = data.child("aron").child("IDG" + i).child("g_vibration").getValue().toString(); + vibrationString = data.child("overviewnodes").child("IDG" + i).child("g_vibration").getValue().toString(); if(vibrationString.equals("true")) { stateOfVibration = true; @@ -507,11 +507,11 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa String breitengradString; String laengengradString; boolean bothGPSvaluesExist = false; - int indexMax = (int) data.child("aron").getChildrenCount(); + int indexMax = (int) data.child("overviewnodes").getChildrenCount(); for (int i = k; i <= k; i++) { - breitengradString = data.child("aron").child("IDG" + i).child("d_breitengrad").getValue().toString(); - laengengradString = data.child("aron").child("IDG" + i).child("e_laengengrad").getValue().toString(); + breitengradString = data.child("overviewnodes").child("IDG" + i).child("d_breitengrad").getValue().toString(); + laengengradString = data.child("overviewnodes").child("IDG" + i).child("e_laengengrad").getValue().toString(); if(!breitengradString.isEmpty() && !laengengradString.isEmpty()) { bothGPSvaluesExist = true; @@ -526,7 +526,7 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa public void allocateIDtoDatabaseSlot(int k) { mDatenbank = FirebaseDatabase.getInstance().getReference(); - mDatenbank.child("aron").child("IDG" + k).child("a_androidid").setValue(getandroidid()); + mDatenbank.child("overviewnodes").child("IDG" + k).child("a_androidid").setValue(getandroidid()); } @@ -534,7 +534,7 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa public void setVibrationInDataBase(int k) { System.out.println("Es wird versucht in DB zu schreiben...."); - for(k =k; k<=datenBankSnapShot.child("aron").getChildrenCount();k++) + for(k =k; k<=datenBankSnapShot.child("overviewnodes").getChildrenCount();k++) { System.out.println("Index...." + k); System.out.println("analyzeIfAnroidIdIsEmpty(datenBankSnapShot,k)" + k + "___" + analyzeIfAnroidIdIsEmpty(datenBankSnapShot,k)); @@ -547,35 +547,35 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa System.out.println("Android ID war leer oder es war eigene ID mit Vibration = false. SChreibe in DB...... " + k); //Reinschreieben mDatenbank = FirebaseDatabase.getInstance().getReference(); - mDatenbank.child("aron").child("IDG" + k).child("a_androidid").setValue(getandroidid()); + mDatenbank.child("overviewnodes").child("IDG" + k).child("a_androidid").setValue(getandroidid()); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - //mDatenbank.child("aron").child("IDG" + k).child("b_localdatetime").setValue(LocalDateTime.now().toString()); - mDatenbank.child("aron").child("IDG" + k).child("b_localdatetime").setValue(LocalDateTime.now(ZoneOffset.UTC).toString()); + //mDatenbank.child("overviewnodes").child("IDG" + k).child("b_localdatetime").setValue(LocalDateTime.now().toString()); + mDatenbank.child("overviewnodes").child("IDG" + k).child("b_localdatetime").setValue(LocalDateTime.now(ZoneOffset.UTC).toString()); } - mDatenbank.child("aron").child("IDG" + k).child("c_ip").setValue(getDeviceIpAdress()); + mDatenbank.child("overviewnodes").child("IDG" + k).child("c_ip").setValue(getDeviceIpAdress()); if (useOwnGPS) { - mDatenbank.child("aron").child("IDG" + k).child("f_nativegps").setValue(true); - mDatenbank.child("aron").child("IDG" + k).child("d_breitengrad").setValue(currentLocation.getLatitude()); //aktueller Breitengrad - mDatenbank.child("aron").child("IDG" + k).child("e_laengengrad").setValue(currentLocation.getLongitude()); //aktueller Längergrad + mDatenbank.child("overviewnodes").child("IDG" + k).child("f_nativegps").setValue(true); + mDatenbank.child("overviewnodes").child("IDG" + k).child("d_breitengrad").setValue(currentLocation.getLatitude()); //aktueller Breitengrad + mDatenbank.child("overviewnodes").child("IDG" + k).child("e_laengengrad").setValue(currentLocation.getLongitude()); //aktueller Längergrad }else{ - mDatenbank.child("aron").child("IDG" + k).child("d_breitengrad").setValue(breitengrad); //aktueller Breitengrad - mDatenbank.child("aron").child("IDG" + k).child("e_laengengrad").setValue(laengengrad); //aktueller Längergrad - mDatenbank.child("aron").child("IDG" + k).child("f_nativegps").setValue(false); + mDatenbank.child("overviewnodes").child("IDG" + k).child("d_breitengrad").setValue(breitengrad); //aktueller Breitengrad + mDatenbank.child("overviewnodes").child("IDG" + k).child("e_laengengrad").setValue(laengengrad); //aktueller Längergrad + mDatenbank.child("overviewnodes").child("IDG" + k).child("f_nativegps").setValue(false); } - mDatenbank.child("aron").child("IDG" + k).child("g_vibration").setValue(true); - mDatenbank.child("aron").child("IDG" + k).child("h_timestamp").setValue(Calendar.getInstance().getTimeInMillis()); //aktueller Zeitstempel wird in Datenbank eingetragen - mDatenbank.child("aron").child("IDG" + k).child("i_amplitude").setValue(1000); - mDatenbank.child("aron").child("IDG" + k).child("w_wellengeschwindigkeit").setValue(db.getMyWaveSpeed()); + mDatenbank.child("overviewnodes").child("IDG" + k).child("g_vibration").setValue(true); + mDatenbank.child("overviewnodes").child("IDG" + k).child("h_timestamp").setValue(Calendar.getInstance().getTimeInMillis()); //aktueller Zeitstempel wird in Datenbank eingetragen + mDatenbank.child("overviewnodes").child("IDG" + k).child("i_amplitude").setValue(1000); + mDatenbank.child("overviewnodes").child("IDG" + k).child("w_wellengeschwindigkeit").setValue(db.getMyWaveSpeed()); break; }else { System.out.println("Erhöhe Index weil nicht durchgekommen" + k); //k erhöhen solange leerer Slot ist oder abbruch weil zu voll - if(k ==(int) datenBankSnapShot.child("aron").getChildrenCount()) + if(k ==(int) datenBankSnapShot.child("overviewnodes").getChildrenCount()) { System.out.println("Kein freier Slot mehr vorhanden"); break; @@ -621,8 +621,8 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa /* //####### Auslesen für boolean-Werte #######: int i = 1; - String vibrationString = data.child("aron").child("IDG").child("vibration").getValue().toString(); - String amplitudeString = data.child("aron").child("IDG").child("amplitude").getValue().toString(); + String vibrationString = data.child("overviewnodes").child("IDG").child("vibration").getValue().toString(); + String amplitudeString = data.child("overviewnodes").child("IDG").child("amplitude").getValue().toString(); boolean vibration; if(vibrationString.equals("true")){ vibration = true;