Android - Interaktion mit dem Benutzer. Leibniz Universität IT Services Anja Aue

Ähnliche Dokumente
Android Apps. Mentoring SS 16. Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo

Android - Ressource. Leibniz Universität IT Services Anja Aue

Android - In einer View zeichnen. Leibniz Universität IT Services Anja Aue

Google Android API. User Interface. Eine knappe Einführung

Einführung in Android. 9. Dezember 2014

Naviki GPS-Anwendungsentwicklung für Mobiltelefone

Einführung in die Android App-Entwicklung. Patrick Treyer und Jannis Pinter

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Übungen zur Android Entwicklung

Entwickeln für Android OS

Java - Menü und Intent. Leibniz Universität IT Services Anja Aue

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

Programmieren in Java -Eingangstest-

Mobile Systeme Android

C++ - Objektorientierte Programmierung Vererbung

Ereignisse Auf Benutzereingaben reagieren

Android - Layout einer Benutzeroberfläche. Leibniz Universität IT Services Anja Aue

12 Abstrakte Klassen, finale Klassen und Interfaces

2. GUI-Programmierung für mobile Geräte

Software Entwicklung 1. Das Android Framework zur Entwicklung von Apps. Bibliotheken Frameworks. Framework. Annette Bieniusa / Peter Zeller

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Gib dem Projekt (z.b.) den Namen MyApplication und klicke auf Next. Der Domain-Name ist beliebig.

3 Objektorientierte Konzepte in Java

Programmieren in Java

Programmieren in Java

C++ - Objektorientierte Programmierung Konstante und statische Elemente

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS HSRM

Vererbung und Polymorphie

Javakurs zu Informatik I. Henning Heitkötter

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

Algorithmen und Datenstrukturen

Durch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei

Objektorientierte Programmierung Studiengang Medieninformatik

Fragen zur OOP in Java

14 Abstrakte Klassen, finale Klassen, Interfaces

3 Objektorientierte Konzepte in Java

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Probeklausur Informatik 2 Sommersemester 2013

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

2. Hintergrundverarbeitung in Android: Services und Notifications

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

2. GUI-Programmierung für mobile Geräte

Umsetzung einer Klassenkarte in einer Programmiersprache

Handbuch für die Erweiterbarkeit

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

1 Klassen und Objekte

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Java Einführung Methoden in Klassen

Benutzeroberflächen. Java Teil 4

Android Processes & Services

Labor 2 : Hello, World Plus

Objektorientierte Programmierung Studiengang Medieninformatik

Listing 1: Cowboy. Listing 2: Woody

Labor 1 : Hello, World

Android Mobile Systeme - Android

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Android Programmierung mit Java Studiengang MI

Android Programmierung mit Java Studiengang MI

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

2.2 Prozesse in Java

Java für Bauingenieure

1 Abstrakte Klassen, finale Klassen und Interfaces

Microsoft Access 2010 Bilder

Theorie zu Übung 8 Implementierung in Java

Einführung in die Programmierung

4. Software-Kompponenten in Android Broadcast Intents und Broadcast Receivers. Broadcast Intents

Java Kurzreferenz Für Fortgeschrittene

Einbindung der Tastatur

Aus einem (sehr) begrenzten Wertebereich (z.b. Zahlen von 1-5) soll ein Wert ausgewählt werden.

Teil I Augmented Learning - Vortragender: Krischan Udelhoven. Teil II Android - Vortragender: Folker Hoffmann

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax

Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Heute. Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files IT I - VO 11 1

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

ALP II Dynamische Datenmengen Datenabstraktion (Teil 2)

5.5.8 Öffentliche und private Eigenschaften

Einstieg in die Informatik mit Java

Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, Schnittstellen und Pakete

Objektorientierte Programmierung. Kapitel 12: Interfaces

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

Probeklausur: Programmierung WS04/05

Einstieg in die Informatik mit Java

Smartphone Entwicklung mit Android und Java

Javakurs für Anfänger

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Technische Hochschule Georg Agricola WORKSHOP TEIL 2. Veranschaulichung des EVA-Prinzips

Android GUI Entwicklung

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1

Die Klasse java.lang.object. Thorsten Treffer

Transkript:

Android - Interaktion mit dem Benutzer Leibniz Universität IT Services Anja Aue

Activity Bildschirmseite in einer APP. Ablage auf einen Stack. Wenn eine Activity gestartet wird, wird diese oben auf den Stapel abgelegt. Wenn die Zurück- Schaltfläche gedrückt wird, wird die vorherige aktive Activity aufgerufen. Java und Android 16.02.16 Seite 2

Lebenszyklus einer Activity Activity wird gestartet Activity verliert den Focus Activity wird beendet oncreate() onpause() ondestroy()... Activity ist nicht mehr sichtbar Activity ist beendet Activity wird ausgeführt onstop() Activity verliert den Focus Activity wird beendet Java und Android 16.02.16 Seite 3

Starten einer Activity Activity wird gestartet oncreate() public class MainActivity extends Activity { private Button btnkelvin; private Button btnfahrenheit; onstart() onresume() /** Called when the activity is first created. */ @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } Activity wird ausgeführt Java und Android 16.02.16 Seite 4

View Ansicht für den Nutzer, um mit einer Activity zu interagieren. Rechteckiges Element, in dem der Benutzer zeichnen kann Definition einer Layout-Datei. Siehe http://developer.android.com/reference/android/view/view.html Java und Android 16.02.16 Seite 5

Widget Steuerelemente sind in dem Paket android.widget definiert. Benutzerschaltflächen, um Aktionen zu starten. Bezeichnungsfelder, um Informationen anzuzeigen. Eingabefelder, um Eingaben vom Nutzer entgegen zu nehmen und diese zu verarbeiten. Und so weiter. Java und Android 16.02.16 Seite 6

Objekt-Hierarchie android.view.view android.widget.textview android.widget.edittext android.widget.button Java und Android 16.02.16 Seite 7

Import von Widgets import android.widget.button; import android.widget.edittext; Die Klasse android.widget ist die Basisklasse für die meisten Widgets in einer App. Jeder Typ von Widget hat eine eigene Klasse, die vor der Nutzung importiert werden muss. Siehe http://www.tutorialspoint.com/android/ android_user_interface_controls.htm Java und Android 16.02.16 Seite 8

Bezeichnungsfelder import android.widget.textview; Anzeige von Text am Bildschirm. Der Text kann vom Nutzer nicht verändert werden. Rahmenloses Textfeld. Die Klasse android.widget.textview stellt Methoden und Attribute für ein Bezeichnungsfeld bereit. Die Klasse ist Basisklasse für Schaltflächen und Eingabefelder. Java und Android 16.02.16 Seite 9

Eingabefeld import android.widget.edittext; Widget zur Eingabe von Text. Der angezeigte Text kann durch den Nutzer verändert werden. Die Klasse android.widget.edittext stellt Methoden und Attribute für ein Textfeld zur Eingabe bereit. Das Eingabefeld erbt von der Klasse TextView Methoden und Attribute. Java und Android 16.02.16 Seite 10

Schaltfläche import android.widget.button; Mit Hilfe von Schaltflächen kann der Benutzer Aktionen starten. Die Klasse android.widget.button stellt Methoden und Attribute für eine Schaltfläche bereit. Java und Android 16.02.16 Seite 11

Variablen vom Typ Widget private EditText fieldeingabe; private Button btnfahrenheit; Zugriff Widget name private Button btnfahrenheit Java und Android 16.02.16 Seite 12

Objektvariable Eine Objektvariable von einer bestimmten Klasse wird deklariert. Die Objektvariable speichert ein Verweis auf ein Objekt von der Klasse. Vor der Nutzung muss die Klasse importiert werden. Die Objektvariable ist als privat (private) deklariert.die Variable kann nur innerhalb der dazugehörigen Klasse verändert werden. Die Variable ist vor Veränderungen von außen geschützt. Java und Android 16.02.16 Seite 13

Definition von Objekten in layout / main.xml <Button android:id="@+id/btnfahrenheit" android:layout_below="@id/eingabetemperatur" android:layout_torightof="@id/btnkelvin" android:layout_alignparentright="true" android:layout_width="@dimen/btnbreite" android:layout_height="wrap_content" /> android:contentdescription="@string/hinweisfahrenheit" android:text="@string/btntextfahrenheit" Java und Android 16.02.16 Seite 14

Verweise auf Objekte in R.java package de.example.androidexample; public final class R { public static final class id { public static final int BeschriftungEingabefeld=0x7f050000; public static final int EingabeTemperatur=0x7f050001; public static final int btnfahrenheit=0x7f050003; public static final int btnkelvin=0x7f050002; } } Java und Android 16.02.16 Seite 15

Schlüsselwerte in R.java public static final class id { public static final int BeschriftungEingabefeld=0x7f050000; In der Klasse id werden Schlüsselwerte für die verschiedenen, in der Layout-Datei definierten, Views erzeugt. Die Konstanten sind öffentlich (public). Auf die Konstanten kann von außen zugegriffen werden. Schlüsselwerte werden gleichzeitig deklariert und initialisiert. Der zugewiesen Wert kann nicht verändert werden (final). Die Konstanten sind für alle Objekte der Klasse id gleich (static). Schlüsselwerte werden als Klassenvariablen deklariert. Java und Android 16.02.16 Seite 16

Verweis auf das Widget btnfahrenheit = (Button)findViewById(R.id.btnFahrenheit); Die Konstante R.id.btnFahrenheit in der Datei R.java verweist auf ein Widget in der Layout-Datei der Activity. Die Methode findviewbyid() gibt ein Verweis auf eine x beliebige View zurück. Die gewünschte View wird mit Hilfe der ID ermittelt. Die Referenz auf eine x beliebige View wird in ein Verweis auf eine Schaltfläche (Button) konvertiert. Java und Android 16.02.16 Seite 17

und in der Objektvariablen speichern btnfahrenheit = (Button)findViewById(R.id.btnFahrenheit); Die Methode findviewbyid() gibt ein Verweis auf eine x beliebige View zurück. Dieser Verweis wird in den gewünschten Typ konvertiert. Der konvertierte Verweis wird mit Hilfe des Gleichheitszeichens einer Objektvariablen vom Typ Button zugewiesen. Die Objektvariable und das Objekt, auf welches verwiesen wird, sollten vom gleichen Typ sein. Java und Android 16.02.16 Seite 18

Event (Ereignis) Interaktion mit dem Benutzer. Aktion, die immer von einem Element der Klasse View oder deren Subklassen ausgelöst wird. Gefilterte Systemnachrichten. Java und Android 16.02.16 Seite 19

Beispiele Event void onclick(view v) void onlongclick(view v) void onfocuschange(view v, boolean f) boolean onkey(view v, int taste, KeyEvent e) boolean ontouch(view v, MotionEvent e) boolean OnDrag(View v, DragEvent e) Beschreibung Mausklick Die Maus wird gedrückt gehalten Fokus verlieren oder bekommen Taste gedrückt oder Taste losgelassen Tipp-Operationen Drag- und Drop-Operationen Java und Android 16.02.16 Seite 20

Event-Handler Öffentliche Methoden, die auf ein Event reagiert. Der Name der Methode beschreibt das Event. Entsprechend des ausgelösten Ereignisse werden der Methode Parameter übergeben. Das Objekt, welches das Ereignis ausgelöst hat, wird an alle Methoden übergeben. Im Methodenrumpf wird mit Hilfe von Code auf das Ereignis reagiert. Java und Android 16.02.16 Seite 21

Beispiel: Reaktion auf Mausklick public void onclick(view v) { EditText fieldeingabe = (EditText) findviewbyid(r.id.eingabetemperatur); Toast AusgabeTemperatur; String eingabetemperatur = fieldeingabe.gettext().tostring(); String ausgabetemperatur; double dblcelsius; if (eingabetemperatur.length() > 0) { ausgabetemperatur = Toast.makeText(v.getContext(), Double.toString(kelvin), Toast.LENGTH_LONG); AusgabeTemperatur.show(); } } Java und Android 16.02.16 Seite 22

Event Handle onclick public void onclick(view v) { } Als Parameter wird der Methode der Auslöser des Ereignisses übergeben. Das Ereignis kann von einer beliebigen View ausgelöst werden. Java und Android 16.02.16 Seite 23

Event Listener Lauscht auf Ereignisse, die in der App ausgelöst werden. Schnittstelle zwischen einem Event und dem Auslöser. Implementierung einer Schnittstelle zwischen dem Event Handler und dem auslösenden Objekt. Jede Schnittstelle wartet auf einen bestimmten Typ von Event. Entsprechend werden die Methoden (Event Handler) in der Schnittstelle implementiert. Java und Android 16.02.16 Seite 24

Event und ihre Schnittstelle Event void onclick(view v) void onlongclick(view v) void onfocuschange(view v, boolean f) boolean onkey(view v, int taste, KeyEvent e) boolean ontouch(view v, MotionEvent e) boolean OnDrag(View v, DragEvent e) Schnittstelle OnClickListener OnLongClickListener OnFocusChangeListener OnKeyListener OnTouchListener OnDragListener Java und Android 16.02.16 Seite 25

Event-Handle und -Listener View, Widget Button Event Mausklick Listener OnClickListener Event-Handle OnClick(View v) Java und Android 16.02.16 Seite 26

Reaktion auf ein Ereignis class MyListener implements OnClickListener { Die Methode wird in eine Klasse (Event Listener) verpackt. Die Klasse implementiert eine Schnittstelle (Interface). public void onclick(view v) { } Event-Handler (Ereignisprozedur) Der Code wird in eine Methode verpackt. Der Name der Methode wird durch die Schnittstelle vorgegeben. Java und Android 16.02.16 Seite 27

Listener implementieren import android.view.view.onclicklistener; class MyListener implements OnClickListener { } Die Klasse MyListener verpflichtet sich alle Methoden der Klasse OnClickListener zu implementieren (implements). Die Klasse OnClickListener hat die Methode onclick(), die in der benutzerdefinierten Klasse implementiert werden muss. Java und Android 16.02.16 Seite 28

Einbettung in die Activity-Klasse import android.view.view.onclicklistener; public class MainActivity extends Activity { class MyListener implements OnClickListener { } } Sehr übersichtliche Implementierung. Vorteil: Die eingebettete Klasse kann auf Fehler der äußeren Klasse zugreifen. Java und Android 16.02.16 Seite 29

Registrierung des Ereignisses public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); btnkelvin = (Button)findViewById(R.id.btnKelvin); btnfahrenheit = (Button)findViewById(R.id.btnFahrenheit); MyClickListener btnlistener = new MyClickListener(); btnkelvin.setonclicklistener(btnlistener); btnfahrenheit.setonclicklistener(btnlistener); } Java und Android 16.02.16 Seite 30

Ablauf der Registrierung Es muss zuerst ein Listener-Objekt vom Typ der Schnittstelle erzeugt werden. Dann wird ein Verweis auf eine View erzeugt. Die passende Listener-Methode der View wird das Listener- Objekt übergeben. Der Listener ist registriert. Hinweis: Es wird immer nur ein Ereignis für eine bestimmte View registriert. Java und Android 16.02.16 Seite 31

Registration des Event Listener MyListener btnlistener = new MyListener(); btnkelvin = (Button)findViewById(R.id.btnKelvin); btnkelvin.setonclicklistener(btnlistener); Zuerst wird ein Objekt Event Listener erzeugt. Mit Hilfe von der Methode findviewbyid() wird ein Verweis auf das gewünschte Widget erzeugt. Mit Hilfe der Methode setonclicklistener() des Widgets wird das passende Listener-Objekt registriert. Durch Auswahl der Methode werden die registrierten Events festgelegt. Java und Android 16.02.16 Seite 32

Activity-Klasse als Listener-Klasse import android.view.view.onclicklistener; public class MainActivity extends Activity implements OnClickListener { public void onclick(view v) { } } Die Klasse MainActivity erbt von der Klasse Activity und implementiert die Schnittstelle OnClickListener. Java und Android 16.02.16 Seite 33

Registration des Event Listener btnkelvin = (Button)findViewById(R.id.btnKelvin); btnkelvin.setonclicklistener(this); Mit Hilfe von der Methode findviewbyid() wird ein Verweis auf das gewünschte Control erzeugt. Mit Hilfe der Methode setonclicklistener() des Widgets wird das passende Listener-Objekt registiert. Das Schlüsselwort this ist ein Platzhalter für das Objekt, welches die Methode aufgerufen hat. this ist in diesem Beispiel ein Platzhalter für Objekte von MainActivity. Java und Android 16.02.16 Seite 34

Anonyme Listener-Klasse import android.view.view.onclicklistener; private OnClickListener mylistener = new OnClickListener() { public void onclick (View v) { } }; Java und Android 16.02.16 Seite 35

Variable vom Typ... import android.view.view.onclicklistener; private OnClickListener mylistener Es wird eine Objektvariable vom Typ OnClickListener erzeugt. Die Variable ist nur in der Klasse sichtbar, in der sie definiert ist. Java und Android 16.02.16 Seite 36

erzeugen import android.view.view.onclicklistener; private OnClickListener mylistener = new OnClickListener() Die Objektvariable wird gleichzeitig deklariert und intialisiert. Mit Hilfe von new() wird ein neues Objekt vom Typ des angegebenen Events erzeugt. Java und Android 16.02.16 Seite 37

Registration des Event Listener btnkelvin = (Button)findViewById(R.id.btnKelvin); btnkelvin.setonclicklistener(mylistener); Mit Hilfe der Methode findviewbyid() wird ein Verweis auf das gewünschte Widget erzeugt. Mit Hilfe der Methode setonclicklistener() des Widgets wird das passende Listener-Objekt registriert. Java und Android 16.02.16 Seite 38

Reaktion auf Tastendruck import android.view.view.onkeylistener; import android.view.keyevent; private OnKeyListener mykeylistener = new OnKeyListener() { public boolean onkey(view v, int keycode, KeyEvent event) { if((keycode == KeyEvent.KEYCODE_ENTER) && (event.getaction() == KeyEvent.ACTION_DOWN)) { return true; } return false; } }; Java und Android 16.02.16 Seite 39

Wer hat die Taste gedrückt? public boolean onkey(view v, int keycode, KeyEvent event) { if (keycode == KeyEvent.KEYCODE_ENTER) Der Parameter v enthält ein Verweis auf das Objekt, welches das Ereignis ausgelöst hat. Java und Android 16.02.16 Seite 40

Welche Taste hat der Nutzer gedrückt? public boolean onkey(view v, int keycode, KeyEvent event) { if (keycode == KeyEvent.KEYCODE_ENTER) Der Parameter keycode wird mit Keycode-Konstanten der Klasse KeyEvent verglichen. Siehe http://developer.android.com/reference/android/view/ KeyEvent.html. Java und Android 16.02.16 Seite 41

Welches Ereignis wurde ausgelöst? public boolean onkey(view v, int keycode, KeyEvent event) { if (event.getaction() == KeyEvent.ACTION_DOWN) Jeder Tastendruck löst zwei Ereignisse aus. Mit Hilfe der Methode event.getaction() kann ermittelt werden, welches der zwei Ereignisse ausgelöst wurde. Die Taste ist gedrückt (KeyEvent.ACTION_DOWN). Die Taste wird losgelassen (KeyEvent.ACTION_UP). Java und Android 16.02.16 Seite 42

Rückgabewert public boolean onkey(view v, int keycode, KeyEvent event) { if((keycode == KeyEvent.KEYCODE_ENTER) && (event.getaction() == KeyEvent.ACTION_DOWN)) { return false; } return false; True, falls der Listener das Ereignis verarbeitet hat. False, falls das Ereignis nicht verarbeitet wird. Java und Android 16.02.16 Seite 43

Ein Event-Handler für mehrere Views public class MainActivity extends Activity { private Button btnkelvin; public void onclick (View v) { if (v == btnkelvin){ } Java und Android 16.02.16 Seite 44

Erläuterung Der Parameter View v verweist auf das auslösende Objekt. Mit Hilfe der Bedingung v == btnkelvin wird überprüft, ob die Objektvariable btnkelvin gleich dem Objekt ist, welches das Ereignis ausgelöst hat. Hinweis: Die Verweise auf die View müssen als Variable in der dazugehörigen Activity-Klasse gespeichert sein. Java und Android 16.02.16 Seite 45

Inhalt eines Textfeldes EditText fieldeingabe = (EditText) findviewbyid(r.id.eingabetemperatur); String eingabetemperatur = fieldeingabe.gettext().tostring(); In der Variable vom Typ EditText wird ein Verweis auf ein Eingabefeld gespeichert. Die Methode gettext() gibt den Inhalt des Eingabefeldes zurück. Die Methode liefert eine Schnittstelle zu einem editierbaren Text zurück. Diese Schnittstelle wird mit Hilfe von tostring() in ein String konvertiert. Java und Android 16.02.16 Seite 46

Textfeld setzen TextView fieldcelsius = (TextView) findviewbyid(r.id.lblcelsius); fieldcelsius.settext(eingabetemperatur + " C"); In der Variable vom Typ EditText wird ein Verweis auf ein Eingabefeld gespeichert. Der Methode settext() wird der Text übergeben, der in dem Feld angezeigt werden soll. Java und Android 16.02.16 Seite 47

Toast Toast AusgabeTemperatur; Kurze Nachricht, die automatisiert am unteren Bildschirmrand eingeblendet und nach kurzer Zeit wieder ausgeblendet wird. Java und Android 16.02.16 Seite 48

Nachricht erzeugen AusgabeTemperatur = Toast.makeText(v.getContext(), Double.toString(kelvin), Toast.LENGTH_LONG); Die Methode maketext() erzeugt eine kurze Nachricht. Java und Android 16.02.16 Seite 49

in dem Kontext public void onclick(view v) { AusgabeTemperatur = Toast.makeText(v.getContext(), Double.toString(kelvin), Toast.LENGTH_LONG); Der erste Parameter gibt den Kontext an, in dem die Nachricht ausgelöst wird. Die Funktion getcontext() gibt den Kontext zurück, in dem die View gerade läuft. In diesem Beispiel: Wer hat das onclick-ereignis ausgelöst? Java und Android 16.02.16 Seite 50

Welche Nachricht wird ausgegeben? AusgabeTemperatur = Toast.makeText(v.getContext(), Double.toString(kelvin), Toast.LENGTH_LONG); Der zweite Parameter definiert die Nachricht. In diesem Beispiel wird ein Wert von Typ double in ein String umgewandelt und als Nachricht angezeigt. Java und Android 16.02.16 Seite 51

Wie lange wird die Nachricht angezeigt? AusgabeTemperatur = Toast.makeText(v.getContext(), Double.toString(kelvin), Toast.LENGTH_LONG); Der dritte Parameter gibt die Dauer der Anzeige an. Siehe http://developer.android.com/reference/android/widget/ Toast.html. Java und Android 16.02.16 Seite 52

Nachricht anzeigen AusgabeTemperatur.show(); Die Nachricht wird kurz am unteren Rand eingeblendet. Java und Android 16.02.16 Seite 53

Tastatur ausblenden InputMethodManager imm = (InputMethodManager) getsystemservice(context.input_method_service); imm.hidesoftinputfromwindow(fieldeingabe.getwindowtoken(), 0); Hinweis: Zum Testen muss im AVD-Manager (Tools Android Virtual Device) für die Emulation das Kontrollkästchen Hardware Keyboard present deaktiviert sein. Java und Android 16.02.16 Seite 54

Veweis auf die Tastatur InputMethodManager imm = (InputMethodManager) getsystemservice(context.input_method_service); Die Methode getsystemservice gibt den Handle (den Referenzwert) zu einer System-Ressource zurück. Der Methode wird im Kontext der aktuellen Applikation das Eingabegerät übergeben. Das Handle wird zu einem InputMethodManager konvertiert. Siehe http://developer.android.com/reference/android/content/context.html#getsystemservice%28java.lang.string%29 Java und Android 16.02.16 Seite 55

InputMethodManager Definiert in der Bibliothek android.view.inputmethod. Interaktion zwischen der aktuellen Applikation und dem aktuellen Eingabegerät. Schnittstelle zwischen der Applikation und der Tastatur. Java und Android 16.02.16 Seite 56

Tastatur ausblenden imm.hidesoftinputfromwindow(fieldeingabe.getwindowtoken(), 0); Mit Hilfe der Methode hidesoftinputfromwindow wird die Tastatur ausgeblendet. Das erste Argument enthält ein Verweis auf das Eingabegerät in Bezug auf die View, die eine Eingabe erwartet. Mit Hilfe des zweiten Arguments können die verschiedenen Flags für die Methode gesetzt werden. Standardmäßig wird 0 genutzt. Java und Android 16.02.16 Seite 57