refactored GUI

This commit is contained in:
2022-03-30 20:44:43 +02:00
parent 79a4b177c6
commit 15d39f4895
3 changed files with 245 additions and 44 deletions

View File

@ -8,6 +8,7 @@ import android.location.LocationManager;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
@ -46,7 +47,7 @@ public class MainActivity extends AppCompatActivity {
Toast.makeText(cntxToastInternGNSSUpdate, "Permission granted!", Toast.LENGTH_SHORT).show();
// Get the output UI
output = (TextView) findViewById(R.id.interngnss);
// output = (TextView) findViewById(R.id.interngnssLongTextView);
// Test print
///printlnOnView(output, "Running!");
@ -78,12 +79,10 @@ public class MainActivity extends AppCompatActivity {
}
*/
// Die Nachfolgenden Methoden können Sie aus einem Worker-Thread aufrufen
private void printlnOnView(final TextView v, final String str) {
private void setEditTextLabel(final EditText v, final String str) {
Runnable myRun = new Runnable() {
public void run() {
v.setText(str + "\n");
v.setText(str);
}
};
runOnUiThread(myRun);
@ -143,48 +142,32 @@ public class MainActivity extends AppCompatActivity {
}).start();
} else {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
// Worker-Thread
new Thread(
new Runnable() {
@Override
public void run() {
while (doRun) {
// Log.i("HAG", "ok");
//
// Aufgabe 3
//
// Geben Sie via printOnView die getLastKnownLocation() von
// Network-Provider und GPS-Provider aus
//
printlnOnView(output, "Lat: " + locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLatitude()
+ " Long: " + locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLongitude()
+ " Accuracy: " + locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getAccuracy()
);
//
// Aufgabe 4
//
// Erzeugen Sie eine WebView und zeigen Sie mittels der WebView
// alternierend die Location von Network und GPS auf der Karte an
//
//
if (locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER) != null) {
setEditTextLabel((EditText) findViewById(R.id.interngnssLatNumber), Double.toString(locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLatitude()));
setEditTextLabel((EditText) findViewById(R.id.interngnssLongNumber), Double.toString(locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLongitude()));
setEditTextLabel((EditText) findViewById(R.id.interngnssAltitudeNumber), Double.toString(locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getAltitude()));
setEditTextLabel((EditText) findViewById(R.id.interngnssAccuracyNumber), Double.toString(locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getAccuracy()));
setEditTextLabel((EditText) findViewById(R.id.interngnssSatCountNumber), Integer.toString(locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getExtras().getInt("satellites")));
}else{
setEditTextLabel((EditText) findViewById(R.id.interngnssLatNumber), "no signal");
setEditTextLabel((EditText) findViewById(R.id.interngnssLongNumber), "no signal");
setEditTextLabel((EditText) findViewById(R.id.interngnssAltitudeNumber), "no signal");
setEditTextLabel((EditText) findViewById(R.id.interngnssAccuracyNumber), "no signal");
setEditTextLabel((EditText) findViewById(R.id.interngnssSatCountNumber),"no signal");
}
runOnUiThread(new Runnable() {
@Override
public void run() {
//Update
}
});
try {
sleep(10000);
} catch (InterruptedException e) {
@ -193,7 +176,6 @@ public class MainActivity extends AppCompatActivity {
}
}
}).start();
}
}

View File

@ -7,15 +7,156 @@
android:layout_height="fill_parent">
<TextView
android:id="@+id/interngnss"
android:layout_width="390dp"
android:layout_height="46dp"
android:layout_marginStart="21dp"
android:layout_marginLeft="21dp"
android:layout_marginTop="176dp"
android:text="TextView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
android:id="@+id/interngnssLongTextView"
android:layout_width="70dp"
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:text="Long:"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="@+id/interngnssLongNumber"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/interngnssLatTextView"
android:layout_width="70dp"
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:text="Lat:"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="@+id/interngnssLatNumber"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/interngnssAltitudeTextView"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:text="Altitude:"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="@+id/interngnssAltitudeNumber"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/interngnssNameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginLeft="32dp"
android:layout_marginTop="8dp"
android:clickable="false"
android:text="Intern GNSS Receiver"
android:textAppearance="@style/TextAppearance.AppCompat.Large"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/interngnssAccuracyTextView"
android:layout_width="wrap_content"
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:text="Accuracy:"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="@+id/interngnssAccuracyNumber"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/interngnssSatCountTextView"
android:layout_width="wrap_content"
android:layout_height="32dp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:text="Satellites:"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="@+id/interngnssSatCountNumber"
app:layout_constraintStart_toStartOf="parent" />
<EditText
android:id="@+id/interngnssLatNumber"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginStart="128dp"
android:layout_marginLeft="128dp"
android:layout_marginTop="4dp"
android:clickable="false"
android:cursorVisible="false"
android:ems="16"
android:focusable="false"
android:focusableInTouchMode="false"
android:inputType="numberDecimal"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/interngnssNameTextView" />
<EditText
android:id="@+id/interngnssLongNumber"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginStart="128dp"
android:layout_marginLeft="128dp"
android:layout_marginTop="4dp"
android:clickable="false"
android:cursorVisible="false"
android:ems="16"
android:focusable="false"
android:focusableInTouchMode="false"
android:inputType="numberDecimal"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/interngnssLatNumber" />
<EditText
android:id="@+id/interngnssAltitudeNumber"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginStart="128dp"
android:layout_marginLeft="128dp"
android:layout_marginTop="4dp"
android:clickable="false"
android:cursorVisible="false"
android:ems="16"
android:focusable="false"
android:focusableInTouchMode="false"
android:inputType="numberDecimal"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/interngnssLongNumber" />
<EditText
android:id="@+id/interngnssAccuracyNumber"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginStart="128dp"
android:layout_marginLeft="128dp"
android:layout_marginTop="4dp"
android:clickable="false"
android:cursorVisible="false"
android:ems="16"
android:focusable="false"
android:focusableInTouchMode="false"
android:inputType="numberDecimal"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/interngnssAltitudeNumber" />
<EditText
android:id="@+id/interngnssSatCountNumber"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginStart="128dp"
android:layout_marginLeft="128dp"
android:layout_marginTop="4dp"
android:clickable="false"
android:cursorVisible="false"
android:ems="16"
android:focusable="false"
android:focusableInTouchMode="false"
android:inputType="number"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/interngnssAccuracyNumber" />
</androidx.constraintlayout.widget.ConstraintLayout>