KI-Verzeichnis
1. Netzwerkanfrage ( Unter Settings_Activity.java )
Prompt:
Erstelle mir eine Java-Klasse SettingsActivity für eine Android-App mit folgenden Anforderungen:
- Die Activity enthält einen Button „Netzwerkverbindung testen“ und ein TextView zur Anzeige des Ergebnisses.
- Beim Klick auf den Button soll eine HTTP-GET-Anfrage an http://10.0.2.2:8080/test gesendet werden.
- Die Anfrage wird in einem Hintergrundthread (AsyncTask) ausgeführt.
- Verwende HttpURLConnection für die Verbindung und BufferedReader + InputStreamReader, um die Serverantwort auszulesen.
- Setze StringBuilder ein, um die Antwort Zeile für Zeile zusammenzusetzen.
- Nach erfolgreicher Antwort soll das Ergebnis im TextView angezeigt und zusätzlich ein Toast eingeblendet werden.
- Bei einem Fehler (z. B. keine Verbindung) soll der Fehlertext ebenfalls angezeigt werden.
- Verwende sinnvolle Kommentare zu jedem Schritt im Code.
2. Feldauswahl: ( Unter Main_Activity.java )
Prompt:
Schreibe mir in Java eine Methode getSectorUnderPointer, die für ein rotierbares Glücksrad mit gleichmäßig verteilten Feldern berechnet, auf welches Feld der Zeiger gerade zeigt.
Anforderungen:
Die Methode bekommt als Parameter den aktuellen Rotationswinkel des Glücksrads (float wheelRotation) und die Anzahl der Sektoren (int sectorCount)
Der Zeiger ist immer oben bei 180°
Die Methode soll die Rotation normalisieren (z. B. bei negativen Werten) und dann das korrekte Feld ermitteln
Der Rückgabewert ist ein int mit dem Index des getroffenen Felds (zwischen 0 und sectorCount - 1)
Kommentiere die wichtigsten Schritte im Code
Verwende zur Berechnung auch den Modulo-Operator %, um den Winkel zu begrenzen
Nutze float degreesPerSector = 360f / sectorCount; zur Aufteilung des Rads
3. Platzierung der Felder auf dem Rad (Unter Main_Activity.java )
Prompt:
Erstelle mir in Java eine Methode positionNumbersOnCircle, die TextView-Felder eines Glücksrads gleichmäßig im Kreis anordnet.
Anforderungen:
Die Methode verwendet ein FrameLayout (wheelContainer) als Mittelpunkt des Kreises
Die Felder (fields) sind in einem Array gespeichert und sollen im Kreis um das Zentrum verteilt werden
Der Radius ist wheelContainer.getWidth() / 2 - 150
Mittelpunkt des Kreises: centerX = wheelContainer.getWidth() / 2, centerY = wheelContainer.getHeight() / 2
Die Platzierung erfolgt über Polar-Koordinaten: angle = 2 * PI * i / fields.length - PI / 2
Für jedes TextView im Array:
Berechne x- und y-Koordinaten mit Math.cos() und Math.sin() (jeweils angepasst um die Breite/Höhe des Felds)
Setze die Position mit setX() und setY()
Zeige die passende Zahl aus einem spinValues-Array mit setText(…) an
Kommentiere die Schritte im Code