refactored GUI

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

78
.gitignore vendored Normal file
View File

@ -0,0 +1,78 @@
# ---> Android
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Log/OS Files
*.log
# Android Studio generated files and folders
captures/
.externalNativeBuild/
.cxx/
*.apk
output.json
# IntelliJ
*.iml
.idea/
# Keystore files
*.jks
*.keystore
# Google Services (e.g. APIs or Firebase)
google-services.json
# Android Profiling
*.hprof
# ---> Kotlin
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*
# ---> Gradle
.gradle
**/build/
!src/**/build/
# Ignore Gradle GUI config
gradle-app.setting
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar
# Cache of project
.gradletasknamecache
# Eclipse Gradle plugin generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath

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>