VerbesserungV2

This commit is contained in:
Raz492
2021-06-17 13:03:27 +02:00
parent 2ab8f02a43
commit 344f6b4514
7 changed files with 27 additions and 119 deletions
@@ -44,7 +44,8 @@ public class EarthquakeMapsActivity extends FragmentActivity implements OnMapRea
private DatabaseReference mDatenbank;
Date currentTime;
//Date currentTime; //Workaround für Crash: currentTime nicht als Datum sondern als Long zeitstempel
Long currentTime;
Location currentLocation;
private double breitengrad;
@@ -55,7 +56,7 @@ public class EarthquakeMapsActivity extends FragmentActivity implements OnMapRea
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_earthquake_maps);
//getDataBaseValues(); //TODO Edward: Nur als Anmerkung, diese Methode erfolgt damit deine Methode getDeviceLocation Koordinaten aus der DB bekommt
getDataBaseValues(); //TODO Edward: Nur als Anmerkung, diese Methode erfolgt damit deine Methode getDeviceLocation rechtzeitig Koordinaten aus der DB bekommt
//TODO Hast schon echt viel erledigt :D Ich habe gedacht das die Class EarthquakeMapsActivity Daten an die DB schickt und die SensorMapsActivity die Daten bekommt, ich glaub die Funktion muss in die andere Class
getLocationPermission();
}
@@ -127,11 +128,12 @@ public class EarthquakeMapsActivity extends FragmentActivity implements OnMapRea
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()){
currentLocation = (Location) task.getResult();
currentTime = Calendar.getInstance().getTime();
//currentTime = Calendar.getInstance().getTime(); //Workaround für Crash: currentTime nicht als Datum sondern als Long zeitstempel
currentTime = Calendar.getInstance().getTimeInMillis();
Toast.makeText(EarthquakeMapsActivity.this, currentTime.toString(), Toast.LENGTH_SHORT).show();
//currentLocation.setLatitude(breitengrad); //Hier werden beispielweise Koordinaten aus der Datenbank verwendet für Gerät IDG1
//currentLocation.setLongitude(laengengrad); //Hier werden beispielweise Koordinaten aus der Datenbank verwendet für Gerät IDG1
//setDataBaseValues(); //TODO Aron: Sobald ich die Funktion aufrufen will crashed die APP
currentLocation.setLatitude(breitengrad);
currentLocation.setLongitude(laengengrad);
setDataBaseValues(); //TODO Edward: Die Funktion geht jetzt. Statt Datum wird Unix Zeitstempel als Long Typ verwendet
moveCamera(new LatLng(currentLocation.getLatitude(), currentLocation.getLongitude()),15f);
}
else{
@@ -189,7 +191,7 @@ public class EarthquakeMapsActivity extends FragmentActivity implements OnMapRea
mDatenbank = FirebaseDatabase.getInstance().getReference();
mDatenbank.child("overview").child("IDG1").child("ip").setValue("10.00.00.001");
mDatenbank.child("overview").child("IDG1").child("vibration").setValue(true);
mDatenbank.child("overview").child("IDG1").child("timestamp").setValue(currentTime.toString()); //aktueller Zeitstempel wird in Datenbank eingetragen
mDatenbank.child("overview").child("IDG1").child("timestamp").setValue(currentTime); //aktueller Zeitstempel wird in Datenbank eingetragen
mDatenbank.child("overview").child("IDG1").child("breitengrad").setValue(currentLocation.getLatitude()); //aktueller Breitengrad
mDatenbank.child("overview").child("IDG1").child("laengengrad").setValue(currentLocation.getLongitude()); //aktueller Längergrad
mDatenbank.child("overview").child("IDG1").child("amplitude").setValue(1001);
@@ -84,10 +84,10 @@ public class MainActivity extends FragmentActivity {
public void deviceInitDataBase()
{
mDatenbank = FirebaseDatabase.getInstance().getReference();
Devices d1 = new Devices("10.00.00.000", false, 1103456789, 49.45470362290784, 11.151032510281498, 1000);
Devices d2 = new Devices("20.00.00.000", false, 1203456789, 40.70064147511923, -73.993767997977787, 200);
Devices d3 = new Devices("30.00.00.000", false, 1303456789, -33.93157129193122, 18.39666975233824, 30);
Devices d4 = new Devices("40.00.00.000", false, 1403456789, -33.40763257191139, -70.61870273653996, 4);
Devices d1 = new Devices("10.00.00.000", false, 1623926431100L, 49.45470362290784, 11.151032510281498, 1000);
Devices d2 = new Devices("20.00.00.000", false, 1623926431200L, 40.70064147511923, -73.993767997977787, 200);
Devices d3 = new Devices("30.00.00.000", false, 1623926431300L, -33.93157129193122, 18.39666975233824, 30);
Devices d4 = new Devices("40.00.00.000", false, 1623926431400L, -33.40763257191139, -70.61870273653996, 4);
mDatenbank.child("overview").child("IDG1").setValue(d1);
mDatenbank.child("overview").child("IDG2").setValue(d2);
mDatenbank.child("overview").child("IDG3").setValue(d3);
@@ -100,7 +100,7 @@ public class MainActivity extends FragmentActivity {
mDatenbank.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
processDataBaseValues(snapshot); //Daten - Snapshot, Übergabe an Methode DataChangeProtocol
processDataBaseValues(snapshot); //Daten - Snapshot, Übergabe an Methode processDataBaseValues
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
@@ -61,7 +61,7 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa
getLocationPermission(); //Zuerst werden die aktuellen Standortdaten ermittelt
//getDataBaseValues(); // Hier werden die Daten von der DB abgefragt //TODO Aron: sobald die Methode aufgerufen wird crashed die APP
getDataBaseValues(); // Hier werden die Daten von der DB abgefragt //TODO Edward: Geht wieder :D
//distance(currentLocation.getLatitude(), currentLocation.getLongitude(),breitengrad,laengengrad); //Übergabe zur Berechnung der Distanz zwischen Auslöser und aktuellem Standort
@@ -164,7 +164,7 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa
mDatenbank.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
processDataBaseValues(snapshot); //Daten - Snapshot, Übergabe an Methode DataChangeProtocol
processDataBaseValues(snapshot);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
@@ -231,5 +231,4 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa
return distanceInMeters;
}
}