From 6c4905d0e712ef6c850ec68864cf466e2c6bf35f Mon Sep 17 00:00:00 2001 From: Leon Market Date: Thu, 15 Jun 2023 14:26:45 +0200 Subject: [PATCH] Added constructors for activity and textView in ThreadDemo --- app/src/main/AndroidManifest.xml | 2 +- .../Beschleunigungssensor.java | 5 ----- .../ueberwachungssystem/MainActivity.java | 13 +++++++++++-- .../ueberwachungssystem/ThreadDemo.java | 19 ++++++++++--------- app/src/main/res/layout/activity_main.xml | 4 ++-- 5 files changed, 24 insertions(+), 19 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c49da9f..cef8f3d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,7 +12,7 @@ android:theme="@style/Theme.Ueberwachungssystem" tools:targetApi="31"> diff --git a/app/src/main/java/com/example/ueberwachungssystem/Beschleunigungssensor.java b/app/src/main/java/com/example/ueberwachungssystem/Beschleunigungssensor.java index e74d635..d5fc8e2 100644 --- a/app/src/main/java/com/example/ueberwachungssystem/Beschleunigungssensor.java +++ b/app/src/main/java/com/example/ueberwachungssystem/Beschleunigungssensor.java @@ -28,11 +28,6 @@ public class Beschleunigungssensor extends AppCompatActivity implements SensorEv private SensorManager sensorManager; private static final int sensorType = Sensor.TYPE_LINEAR_ACCELERATION; private Sensor sensor; - - //Matrizen für Datenverarbeitung: - double[] linear_acceleration = new double[3]; - int numberOfValues = 100; - double[][] calibrationMatrix = new double[3][numberOfValues]; boolean alarm = false; //Preallocate memory for the data of each axis of the acceleration sensor double x; diff --git a/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java b/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java index 0b13931..f3ba22b 100644 --- a/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java +++ b/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java @@ -4,6 +4,7 @@ import static java.lang.Boolean.TRUE; import androidx.appcompat.app.AppCompatActivity; +import android.content.Context; import android.os.Bundle; import android.view.View; import android.widget.TextView; @@ -12,10 +13,12 @@ import android.widget.ToggleButton; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Logger logger; + private Context context; //private Accelerometer beschleunigungssensor; - //private SensorManager sensorManager; + private ThreadDemo threadDemo; private TextView textViewLog; private TextView textViewWorkerThread; + //private WorkerUsingThread workerUsingThread; ToggleButton toggleButton1; @@ -32,7 +35,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe toggleButton1 = (ToggleButton) findViewById(R.id.toggleButton1); //togglebutton um Thread zu steuern toggleButton1.setOnClickListener(this); textViewWorkerThread = (TextView) findViewById(R.id.textViewWorkerThread); //TextView um Thread zu überwachen - + // beschleunigungssensor = new Accelerometer(this); + threadDemo = new ThreadDemo(this, textViewWorkerThread); logger.log("onCreate"); } @@ -44,6 +48,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe protected void onPause() { super.onPause(); //beschleunigungssensor.stop(); + threadDemo.stop(); + } @@ -52,8 +58,11 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe logger.log("toggleButton1 is clicked"); if (toggleButton1.isChecked()) { logger.log("ToggleButton is ON"); + //beschleunigungssensor.start(); + threadDemo.start(); } else { logger.log("ToggleButton is OFF"); + threadDemo.stop(); } } } \ No newline at end of file diff --git a/app/src/main/java/com/example/ueberwachungssystem/ThreadDemo.java b/app/src/main/java/com/example/ueberwachungssystem/ThreadDemo.java index 91bf39e..70f69bb 100644 --- a/app/src/main/java/com/example/ueberwachungssystem/ThreadDemo.java +++ b/app/src/main/java/com/example/ueberwachungssystem/ThreadDemo.java @@ -9,20 +9,21 @@ public class ThreadDemo implements Runnable { private volatile boolean running = false; private Thread thread; private String threadname = "testThread"; - Logger logger; + //Logger logger; + TextView textViewWorkerThread; // Passing Activity's instance as argument on worker thread AppCompatActivity activity; - public ThreadDemo(AppCompatActivity activity){ + public ThreadDemo(AppCompatActivity activity, TextView textViewWorkerThread){ this.activity = activity; + this.textViewWorkerThread = textViewWorkerThread; } - //Method print which delegates access on MainActivity to runOnUiThread private void print(final String s) { activity.runOnUiThread(new Runnable() { @Override public void run() { - //textViewWorkerThread.setText(s); + textViewWorkerThread.setText(s); } }); } @@ -43,23 +44,23 @@ public class ThreadDemo implements Runnable { } void start() { - logger.log("Starting " + threadname + "..."); + //logger.log("Starting " + threadname + "..."); running = true; thread = new Thread(this); thread.setName(threadname); thread.start(); - logger.log("..." + threadname + " started"); + //logger.log("..." + threadname + " started"); } void stop() { if (!running) { - logger.log(threadname + " not running"); + //logger.log(threadname + " not running"); } else { - logger.log("Stopping " + threadname + "..."); + //logger.log("Stopping " + threadname + "..."); running = false; while(true){ try { thread.join(); - logger.log("... " + threadname + " stopped"); + //logger.log("... " + threadname + " stopped"); break; } catch (InterruptedException e) { e.printStackTrace(); diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 33535a7..0726f26 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -10,7 +10,7 @@ android:id="@+id/textViewLog" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="Hello World!" + android:text="TextViewLoggerMain" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -35,7 +35,7 @@ android:layout_marginStart="174dp" android:layout_marginTop="85dp" android:layout_marginEnd="179dp" - android:text="TextView" + android:text="textViewWorkerThreadTextView" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/toggleButton1" />