Browse Source

added new Project ueberwachungssystem

ko^2
Oliver Kleinecke 1 year ago
parent
commit
07f60f974b

+ 1
- 0
app/build.gradle View File

@@ -36,4 +36,5 @@ dependencies {
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
implementation "androidx.startup:startup-runtime:1.1.1"
}

+ 22
- 0
app/src/main/AndroidManifest.xml View File

@@ -2,6 +2,28 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<!-- &lt;!&ndash; If your app targets Android 13 (API level 33)-->
<!-- or higher, you must declare the NEARBY_WIFI_DEVICES permission. &ndash;&gt;-->
<!-- <uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES"-->
<!-- &lt;!&ndash; If your app derives location information from Wi-Fi APIs,-->
<!-- don't include the "usesPermissionFlags" attribute. &ndash;&gt;-->
<!-- android:usesPermissionFlags="neverForLocation" />-->

<uses-permission
android:required="true"
android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!-- If any feature in your app relies on precise location information,
don't include the "maxSdkVersion" attribute. -->
<uses-permission
android:required="true"
android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission
android:required="true"
android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission
android:required="true"
android:name="android.permission.INTERNET"/>

<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"

+ 44
- 0
app/src/main/java/de/oklein/android/ueberwachungssystem/Logger/Logger.java View File

@@ -0,0 +1,44 @@
package de.oklein.android.ueberwachungssystem.Logger;

import android.util.Log;
import android.widget.TextView;

import java.io.PrintWriter;
import java.io.StringWriter;

public class Logger {
private TextView textView;
private StringBuffer sb = new StringBuffer();
private String tag;

public Logger(String tag, TextView textView, String logInitText) {
this.tag = tag;
this.textView = textView;
sb.append(logInitText);
}

public void log(String s) {
Log.d(tag, s);
sb.append(s).append("\n");
if (textView != null) {
textView.setText(sb.toString());
}
}

public void log(Exception e) {
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
log(sw.toString());
}

public void clearLog() {
sb.setLength(0);
if (textView != null) {
textView.setText("");
}
}

public String getLoggedText() {
return sb.toString();
}
}

+ 112
- 2
app/src/main/java/de/oklein/android/ueberwachungssystem/MainActivity.java View File

@@ -1,15 +1,125 @@
package de.oklein.android.ueberwachungssystem;

import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

public class MainActivity extends AppCompatActivity {
private Fragment aktuellesFragment;
private void log(String nachricht) {
Log.d(this.getClass().getSimpleName(), nachricht);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle( this.getClass().getSimpleName());
setContentView(R.layout.activity_main);
//penis
}
public void onClickZeigeFragment1(View view) {
Button button = (Button) view;
log(button.getText() + " ausgewählt");
zeigeFragment(Fragment1.erstellen("Fragment 1 wurde angeklickt"));
}
public void onClickZeigeFragment2(View view) {
Button button = (Button) view;
log(button.getText() + " ausgewählt");
zeigeFragment(Fragment2.erstellen("Fragment 2 wurde angeklickt"));
}

public void onClickEntferneFragment(View view) {
entferneFragment();
}
private void zeigeFragment(Fragment fragment) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.frame, fragment);
ft.commit();
aktuellesFragment = fragment;
}
private void entferneFragment() {
if (aktuellesFragment != null) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.remove(aktuellesFragment);
ft.commit();
aktuellesFragment = null ;
}
}
public static class Fragment1 extends Fragment {
private String text;
private final static String KEY_TEXT = "KEY_TEXT";

private void log(String nachricht) {
Log.d(this.getClass().getSimpleName(), nachricht);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle) {
log("onCreateView");
View view = inflater.inflate(R.layout.fragment1, container, false);
TextView textView = (TextView) view.findViewById(R.id.textView);
textView.setText(text);
return view;
}
public static Fragment1 erstellen(String text) {
Fragment1 fragment = new Fragment1();
Bundle b = new Bundle();
b.putString(KEY_TEXT, text);
fragment.setArguments(b);
return fragment;
}
@Override
public void onCreate(Bundle bundle) {
super .onCreate(bundle);
Bundle args = getArguments();
if (args != null ) {
text = args.getString(KEY_TEXT);
log("onCreate: text=" + text);
} else {
log("onCreate");
}
}
}
public static class Fragment2 extends Fragment {
private String text;
private final static String KEY_TEXT = "KEY_TEXT" ;
private void log(String nachricht) {
Log.d(this.getClass().getSimpleName(), nachricht);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle) {
log( "onCreateView" );
View view = inflater.inflate(R.layout.fragment2, container, false );
EditText editText = (EditText) view.findViewById(R.id.editText1);
editText.setText(text);
return view;
}
public static Fragment2 erstellen(String text) {
Fragment2 fragment = new Fragment2();
Bundle b = new Bundle();
b.putString(KEY_TEXT, text);
fragment.setArguments(b);
return fragment;
}
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
Bundle args = getArguments();
if (args != null) {
text = args.getString(KEY_TEXT);
log("onCreate: text=" + text);
} else {
log("onCreate");
}
}
}
}

+ 38
- 12
app/src/main/res/layout/activity_main.xml View File

@@ -1,18 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
tools:context="de.oklein.android.ueberwachungssystem.MainActivity"
android:background="@android:color/holo_orange_light">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:text="Zeige Fragment 1"
android:onClick="onClickZeigeFragment1"/>

<Button
android:id="@+id/btnFordereRechte"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/button1"
android:text="Zeige Fragment 2"
android:onClick="onClickZeigeFragment2"/>

<Button
android:id="@+id/buttonEntferneFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/btnFordereRechte"
android:text="Entferne Fragment"
android:onClick="onClickEntferneFragment"/>

<FrameLayout
android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentStart="true"
android:layout_below="@+id/buttonEntferneFragment">
</FrameLayout>

</androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout>

+ 15
- 0
app/src/main/res/layout/fragment1.xml View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:background="@android:color/holo_green_light">

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"/>

</LinearLayout>

+ 19
- 0
app/src/main/res/layout/fragment2.xml View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:background="@android:color/holo_blue_light" >

<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:ems="10"
android:textStyle="italic"
android:inputType="textMultiLine" >
<requestFocus />
</EditText>

</LinearLayout>

Loading…
Cancel
Save