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

View File

@ -1,36 +0,0 @@
{
"overview" : {
"IDG1" : {
"amplitude" : 1001,
"breitengrad" : 49.5,
"ip" : "10.00.00.001",
"laengengrad" : 11.5,
"timestamp" : 1113456789,
"vibration" : true
},
"IDG2" : {
"amplitude" : 200,
"breitengrad" : 40.70064147511923,
"ip" : "20.00.00.000",
"laengengrad" : -73.99376799797778,
"timestamp" : 1203456789,
"vibration" : false
},
"IDG3" : {
"amplitude" : 30,
"breitengrad" : -33.93157129193122,
"ip" : "30.00.00.000",
"laengengrad" : 18.39666975233824,
"timestamp" : 1303456789,
"vibration" : false
},
"IDG4" : {
"amplitude" : 4,
"breitengrad" : -33.40763257191139,
"ip" : "40.00.00.000",
"laengengrad" : -70.61870273653996,
"timestamp" : 1403456789,
"vibration" : false
}
}
}

View File

@ -36,6 +36,7 @@ dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'com.google.android.gms:play-services-maps:17.0.1' implementation 'com.google.android.gms:play-services-maps:17.0.1'
implementation 'com.google.firebase:firebase-database:20.0.0' implementation 'com.google.firebase:firebase-database:20.0.0'
implementation 'com.google.firebase:firebase-functions:20.0.0'
testImplementation 'junit:junit:4.+' testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

View File

@ -1,92 +1,34 @@
{ {
"project_info": { "project_info": {
"project_number": "1097743535942", "project_number": "957720376634",
"firebase_url": "https://arontestprojekt-default-rtdb.europe-west1.firebasedatabase.app", "firebase_url": "https://schockwelle-mdt5-g1-default-rtdb.europe-west1.firebasedatabase.app",
"project_id": "arontestprojekt", "project_id": "schockwelle-mdt5-g1",
"storage_bucket": "arontestprojekt.appspot.com" "storage_bucket": "schockwelle-mdt5-g1.appspot.com"
}, },
"client": [ "client": [
{ {
"client_info": { "client_info": {
"mobilesdk_app_id": "1:1097743535942:android:527888c66e66b847d29f47", "mobilesdk_app_id": "1:957720376634:android:fdc03f689ff71b2f70cc03",
"android_client_info": {
"package_name": "com.example.myapplication1fb"
}
},
"oauth_client": [
{
"client_id": "1097743535942-ajbqq8gjc565pj2c2j5qtlskoskevf6o.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyCwR1_JUNHQznkwcDjx5mngPJuqktBKFeM"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "1097743535942-ajbqq8gjc565pj2c2j5qtlskoskevf6o.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:1097743535942:android:fba2ee9540898b84d29f47",
"android_client_info": {
"package_name": "com.example.myapplicationf2"
}
},
"oauth_client": [
{
"client_id": "1097743535942-ajbqq8gjc565pj2c2j5qtlskoskevf6o.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyCwR1_JUNHQznkwcDjx5mngPJuqktBKFeM"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "1097743535942-ajbqq8gjc565pj2c2j5qtlskoskevf6o.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:1097743535942:android:34888690bd5c9564d29f47",
"android_client_info": { "android_client_info": {
"package_name": "de.edotzlaff.schockwelle" "package_name": "de.edotzlaff.schockwelle"
} }
}, },
"oauth_client": [ "oauth_client": [
{ {
"client_id": "1097743535942-ajbqq8gjc565pj2c2j5qtlskoskevf6o.apps.googleusercontent.com", "client_id": "957720376634-gvj86hvfrnt5npvqfbsb8lnu77fgaumh.apps.googleusercontent.com",
"client_type": 3 "client_type": 3
} }
], ],
"api_key": [ "api_key": [
{ {
"current_key": "AIzaSyCwR1_JUNHQznkwcDjx5mngPJuqktBKFeM" "current_key": "AIzaSyDNnG6F_VIzKbu4r7QBqsUZ3z6ELFbgyuc"
} }
], ],
"services": { "services": {
"appinvite_service": { "appinvite_service": {
"other_platform_oauth_client": [ "other_platform_oauth_client": [
{ {
"client_id": "1097743535942-ajbqq8gjc565pj2c2j5qtlskoskevf6o.apps.googleusercontent.com", "client_id": "957720376634-gvj86hvfrnt5npvqfbsb8lnu77fgaumh.apps.googleusercontent.com",
"client_type": 3 "client_type": 3
} }
] ]

View File

@ -44,7 +44,8 @@ public class EarthquakeMapsActivity extends FragmentActivity implements OnMapRea
private DatabaseReference mDatenbank; private DatabaseReference mDatenbank;
Date currentTime; //Date currentTime; //Workaround für Crash: currentTime nicht als Datum sondern als Long zeitstempel
Long currentTime;
Location currentLocation; Location currentLocation;
private double breitengrad; private double breitengrad;
@ -55,7 +56,7 @@ public class EarthquakeMapsActivity extends FragmentActivity implements OnMapRea
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_earthquake_maps); 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 //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(); getLocationPermission();
} }
@ -127,11 +128,12 @@ public class EarthquakeMapsActivity extends FragmentActivity implements OnMapRea
public void onComplete(@NonNull Task task) { public void onComplete(@NonNull Task task) {
if (task.isSuccessful()){ if (task.isSuccessful()){
currentLocation = (Location) task.getResult(); 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(); 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.setLatitude(breitengrad);
//currentLocation.setLongitude(laengengrad); //Hier werden beispielweise Koordinaten aus der Datenbank verwendet für Gerät IDG1 currentLocation.setLongitude(laengengrad);
//setDataBaseValues(); //TODO Aron: Sobald ich die Funktion aufrufen will crashed die APP setDataBaseValues(); //TODO Edward: Die Funktion geht jetzt. Statt Datum wird Unix Zeitstempel als Long Typ verwendet
moveCamera(new LatLng(currentLocation.getLatitude(), currentLocation.getLongitude()),15f); moveCamera(new LatLng(currentLocation.getLatitude(), currentLocation.getLongitude()),15f);
} }
else{ else{
@ -189,7 +191,7 @@ public class EarthquakeMapsActivity extends FragmentActivity implements OnMapRea
mDatenbank = FirebaseDatabase.getInstance().getReference(); mDatenbank = FirebaseDatabase.getInstance().getReference();
mDatenbank.child("overview").child("IDG1").child("ip").setValue("10.00.00.001"); 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("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("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("laengengrad").setValue(currentLocation.getLongitude()); //aktueller Längergrad
mDatenbank.child("overview").child("IDG1").child("amplitude").setValue(1001); mDatenbank.child("overview").child("IDG1").child("amplitude").setValue(1001);

View File

@ -84,10 +84,10 @@ public class MainActivity extends FragmentActivity {
public void deviceInitDataBase() public void deviceInitDataBase()
{ {
mDatenbank = FirebaseDatabase.getInstance().getReference(); mDatenbank = FirebaseDatabase.getInstance().getReference();
Devices d1 = new Devices("10.00.00.000", false, 1103456789, 49.45470362290784, 11.151032510281498, 1000); Devices d1 = new Devices("10.00.00.000", false, 1623926431100L, 49.45470362290784, 11.151032510281498, 1000);
Devices d2 = new Devices("20.00.00.000", false, 1203456789, 40.70064147511923, -73.993767997977787, 200); Devices d2 = new Devices("20.00.00.000", false, 1623926431200L, 40.70064147511923, -73.993767997977787, 200);
Devices d3 = new Devices("30.00.00.000", false, 1303456789, -33.93157129193122, 18.39666975233824, 30); Devices d3 = new Devices("30.00.00.000", false, 1623926431300L, -33.93157129193122, 18.39666975233824, 30);
Devices d4 = new Devices("40.00.00.000", false, 1403456789, -33.40763257191139, -70.61870273653996, 4); 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("IDG1").setValue(d1);
mDatenbank.child("overview").child("IDG2").setValue(d2); mDatenbank.child("overview").child("IDG2").setValue(d2);
mDatenbank.child("overview").child("IDG3").setValue(d3); mDatenbank.child("overview").child("IDG3").setValue(d3);
@ -100,7 +100,7 @@ public class MainActivity extends FragmentActivity {
mDatenbank.addValueEventListener(new ValueEventListener() { mDatenbank.addValueEventListener(new ValueEventListener() {
@Override @Override
public void onDataChange(@NonNull DataSnapshot snapshot) { public void onDataChange(@NonNull DataSnapshot snapshot) {
processDataBaseValues(snapshot); //Daten - Snapshot, Übergabe an Methode DataChangeProtocol processDataBaseValues(snapshot); //Daten - Snapshot, Übergabe an Methode processDataBaseValues
} }
@Override @Override
public void onCancelled(@NonNull DatabaseError error) { public void onCancelled(@NonNull DatabaseError error) {

View File

@ -61,7 +61,7 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa
getLocationPermission(); //Zuerst werden die aktuellen Standortdaten ermittelt 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 //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() { mDatenbank.addValueEventListener(new ValueEventListener() {
@Override @Override
public void onDataChange(@NonNull DataSnapshot snapshot) { public void onDataChange(@NonNull DataSnapshot snapshot) {
processDataBaseValues(snapshot); //Daten - Snapshot, Übergabe an Methode DataChangeProtocol processDataBaseValues(snapshot);
} }
@Override @Override
public void onCancelled(@NonNull DatabaseError error) { public void onCancelled(@NonNull DatabaseError error) {
@ -231,5 +231,4 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa
return distanceInMeters; return distanceInMeters;
} }
} }

View File

@ -1,6 +1,6 @@
#Mon Jun 14 19:58:23 CEST 2021 #Thu Jun 17 12:39:35 CEST 2021
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip