|
|
|
|
|
|
|
|
import android.content.Context; |
|
|
import android.content.Context; |
|
|
import android.content.pm.PackageManager; |
|
|
import android.content.pm.PackageManager; |
|
|
import android.location.Location; |
|
|
import android.location.Location; |
|
|
|
|
|
import android.net.wifi.WifiManager; |
|
|
import android.os.Bundle; |
|
|
import android.os.Bundle; |
|
|
import android.os.CountDownTimer; |
|
|
import android.os.CountDownTimer; |
|
|
import android.os.SystemClock; |
|
|
import android.os.SystemClock; |
|
|
|
|
|
import android.text.format.Formatter; |
|
|
import android.util.Log; |
|
|
import android.util.Log; |
|
|
import android.widget.Button; |
|
|
import android.widget.Button; |
|
|
import android.widget.TextView; |
|
|
import android.widget.TextView; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Shake Sensor |
|
|
//Shake Sensor |
|
|
private SensorManager mSensorManager; |
|
|
private SensorManager mSensorManager; |
|
|
private static final float mUpperThreshold = 10.5f; // für Emulator auf 1.5 setzen |
|
|
|
|
|
private static final float mLowerThreshold = 5.5f; // für Emulator auf 0.5 setzen |
|
|
|
|
|
|
|
|
private static final float mUpperThreshold = 1.5f; // für Emulator auf 1.5 setzen |
|
|
|
|
|
private static final float mLowerThreshold = 0.5f; // für Emulator auf 0.5 setzen |
|
|
private static final long mShakeDetectionLockTimeMicroSeconds = 10000; |
|
|
private static final long mShakeDetectionLockTimeMicroSeconds = 10000; |
|
|
private float mAccel; |
|
|
private float mAccel; |
|
|
private float mAccelCurrent; |
|
|
private float mAccelCurrent; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void writeEarthquakeToDatabase() |
|
|
private void writeEarthquakeToDatabase() |
|
|
{ |
|
|
{ |
|
|
|
|
|
setDataBaseValues(true); |
|
|
//TODO Erdbeben + Erzeugerparameter in Datenbank schreiben |
|
|
//TODO Erdbeben + Erzeugerparameter in Datenbank schreiben |
|
|
} |
|
|
} |
|
|
@Override |
|
|
@Override |
|
|
|
|
|
|
|
|
Toast.makeText(EarthquakeMapsActivity.this, currentTime.toString(), Toast.LENGTH_SHORT).show(); |
|
|
Toast.makeText(EarthquakeMapsActivity.this, currentTime.toString(), Toast.LENGTH_SHORT).show(); |
|
|
currentLocation.setLatitude(breitengrad); |
|
|
currentLocation.setLatitude(breitengrad); |
|
|
currentLocation.setLongitude(laengengrad); |
|
|
currentLocation.setLongitude(laengengrad); |
|
|
setDataBaseValues(); //TODO Edward: Die Funktion geht jetzt. Statt Datum wird Unix Zeitstempel als Long Typ verwendet |
|
|
|
|
|
|
|
|
setDataBaseValues(false); //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{ |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void onDataChange(@NonNull DataSnapshot snapshot) { |
|
|
public void onDataChange(@NonNull DataSnapshot snapshot) { |
|
|
processDataBaseValues(snapshot); //Daten Snapshot, Übergabe an processDataBaseValues |
|
|
processDataBaseValues(snapshot); //Daten Snapshot, Übergabe an processDataBaseValues |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
@Override |
|
|
@Override |
|
|
public void onCancelled(@NonNull DatabaseError error) { |
|
|
public void onCancelled(@NonNull DatabaseError error) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//TODO Edward: Hier ist eine beispielhafte Methode mit der du Werte in der Datenbank setzen kannst |
|
|
//TODO Edward: Hier ist eine beispielhafte Methode mit der du Werte in der Datenbank setzen kannst |
|
|
public void setDataBaseValues() |
|
|
|
|
|
|
|
|
public void setDataBaseValues(boolean vibration) |
|
|
{ |
|
|
{ |
|
|
|
|
|
currentTime = Calendar.getInstance().getTimeInMillis(); |
|
|
|
|
|
WifiManager wm = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE); |
|
|
|
|
|
int ip = wm.getConnectionInfo().getIpAddress(); |
|
|
|
|
|
String ipAddress = String.format("%d.%d.%d.%d",(ip & 0xff),(ip >> 8 & 0xff),(ip >> 16 & 0xff), (ip >> 24 & 0xff)); |
|
|
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("vibration").setValue(true); |
|
|
|
|
|
|
|
|
mDatenbank.child("overview").child("IDG1").child("ip").setValue(ipAddress); |
|
|
|
|
|
mDatenbank.child("overview").child("IDG1").child("vibration").setValue(vibration); |
|
|
mDatenbank.child("overview").child("IDG1").child("timestamp").setValue(currentTime); //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(255); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |