Android Apps. Mentoring SS 16. Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo
|
|
- Edmund Beyer
- vor 7 Jahren
- Abrufe
Transkript
1 Android Apps Mentoring SS 16 Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo Wichtige Dateien MainActivity.java activity_main.xml AndroidManifest.xml Die Dateien MainActivity.java, activity_main.xml und AndroidManifest.xml bilden den Kern eurer ersten Android App. Während die Datei MainActivity.java die Logik von eurem Programm und die Datei activity_main.xml das Layout enthält, könnt ihr in der AndroidManifest.xml Berechtigungen für eure Applikation festlegen. Kommentare zur Datei MainActivity.java Im Folgenden ist der Quelltext aus der Präsentation nochmal abgebildet mit zusätzlichen Kommentaren. Listing 1: Eingebundene Klassen 1 import android. content. Context; 2 import android. hardware. Sensor; 3 import android. hardware. SensorEvent; 4 import android. hardware. SensorEventListener; 5 import android. hardware. SensorManager; 6 import android. support.v7. app. AppCompatActivity; 7 import android.os. Bundle; 8 import android. view. View; 9 import android. widget. Button; 10 import android. widget. TextView; 11 import java. util. HashMap; 12 import java. util. Map; 13 import java. util. Random; 1
2 Weiter oben seht ihr die Klassen, die wir für unsere MentoringOne Applikation importiert haben. Um Pakete und Klassen zu importieren, verwenden wir das Schlüsselwort import. Zum Beispiel gehört die Klasse Sensor dem Paket android.hardware an. Das Paket mit dem Namen android enthält Android-spezifische Klassen und das Paket mit dem Namen java ist die sogenannte Standartbibliothek. Dort findet ihr zum Beispiel die Klasse Random mit der ihr Objekte erzeugen könnt, die euch Pseudozufallszahlen generieren oder auch die Klasse Map mit der ihr ein assoziatives Array erstellen könnt. Listing 2: Grundlegende Struktur 1 public class MainActivity extends AppCompatActivity implements SensorEventListener 2 { 4 protected void oncreate( Bundle savedinstancestate) 5 { 6 } 8 public void onsensorchanged( SensorEvent event) 9 { 10 } 12 protected void onpause() 13 { 14 } 16 protected void onresume() 17 { 18 } 20 public void onaccuracychanged( Sensor sensor, int accuracy) 21 { 22 } 23 } // eoc Nun seht ihr das Herzstück unserer Applikation, die sogenannte MainActivity Klasse. Diese findet ihr natürlich in der Datei MainActivity.java. Die Klasse MainActivity erbt von der Klasse AppCompatActivity und implementiert das Interface SensorEventListener. Das bedeutet im Endeffekt, dass eure MainActivity Klasse die Methoden onsensorchanged(sensorevent event) onaccuracychanged(sensor sensor, int accuracy) enthalten muss damit. Die Methoden oncreate(bundle savedinstancestate), onpause() und onresume() werden von der Klasse AppCompatActivity vererbt. Die Methode oncreate(bundle savedinstancestate) wird aufgerufen, wenn eure Applikation gestartet wird. Die Methoden onpause() und onresume() werden dann aufgerufen, wenn eure Aktivität nicht mehr sichtbar ist. Interessierte Leute finden unter dem folgenden Link mehr Informationen 2
3 Mit den Methoden onsensorchanged(sensorevent event) und onaccuracychanged(sensor sensor, int accuracy) könnt ihr auf Ereignisse von euren Sensoren reagieren. Ein Anwendungsbeispiel wird noch später ist eine sogenannte Annotation und ist für uns nicht weiter von Interesse. Listing 3: Einige Attribute 1 public class MainActivity extends AppCompatActivity implements SensorEventListener 2 { 4 // Felder 5 Map <Integer, String > m = new HashMap <Integer, String >(); // für Text 6 SensorManager snsmgr = null; // für Sensor 7 Sensor sns = null; // für Sensor } Zu sehen sind einige Attribute von unserer MainActivity Klasse. Mit dem assoziativen Array m vom Typen <Integer, String> können wir Strings einen Wert w { 2 31,..., } zuweisen. Für weiterführende Informationen siehe auch Eine Erklärung zum Zweierkomplement (wieso w aus dieser Menge kommt) findet man unter Die Objekte SensorManager snsmgr und Sensor sns brauchen wir später bei oncreate(bundle savedinstancestate). Listing 4: Initialisierung 2 protected void oncreate( Bundle savedinstancestate) 3 { 4 super. oncreate( savedinstancestate); 5 setcontentview(r. layout. activity_main); 6 snsmgr = ( SensorManager) getsystemservice( Context. SENSOR_SERVICE); 7 sns = snsmgr. getdefaultsensor( Sensor. TYPE_ACCELEROMETER); 8 this. snsmgr. registerlistener(this,sns, SensorManager. SENSOR_DELAY_NORMAL); 9 m.put(1, "Nico ist großartig!"); m.put(2, "Anja ist toll!"); 10 m. put(3, " HAlex ist theoretisch ganz gut!"); m. put(4, " Sönke ist spitze!"); 11 m. put(5, " Diane ist bald Lehrerin."); m. put(6, " Toni ist ein Rockstar."); 12 Button btn = ( Button) findviewbyid(r.id. btn1); // Erzeuge Knopf Ref. 13 final TextView tv = ( TextView) findviewbyid(r.id. txtv1); // Erzeuge Textview Ref. 14 btn. setonclicklistener( new View. OnClickListener() 15 { 17 public void onclick( View v) // v ist Referenz auf den Button 18 { 19 Random rnd = new Random(); 20 int random = rnd. nextint(6) +1; // random number between 0 and 5 3
4 21 tv. settext(m. get( random)); // setze Text neu in Textview 22 } 23 } 24 ); 25 } Erst jetzt kommt unser eigentliches Programm. Hier beschreiben wir, wie genau wir unsere Applikation initialisieren. Die Methode oncreate nimmt als Argument ein Objekt vom Typ Bundle. Mit diesem Objekt können zwischen verschiedenen Android Aktivitäten Daten übertragen werden. Für uns ist dies nicht weiter interessant. Mit dem Schlüsselwort super wird die Konstruktor-Methode der Oberklasse AppCompatActivity aufgerufen. Mit der Methode setcontentview(int view) lassen wir die Android Magie frei und initialisieren unsere view, damit erstmal ein schönes Fenster erscheint. Anschließend bereiten wir mit den nächsten drei Zeilen die Nutzung des Beschleunigungssensors vor. Das bedeutet bis jetzt haben wir eigentlich nur die grundlegendsten Sachen vorbereitet. In den darauf folgenden Zeilen generieren wir einige Datensätze und fügen sie in das assoziative Array m ein. Danach erstellen wir unser erstes Objekt, welches man tatsächlich anfassen kann, nämlich einen Button mit dem Bezeichner btn. Beim Button definieren wir mit setonclicklistener(new View.OnClickListener() das Verhalten bei verschiedenen Ereignissen. Was danach folgt ist eine sogenannte anonyme innere Klasse. Mit diesem Sprachkonstrukt vereinigen wir die Klassendeklaration und Objekterzeugung. Das erzeugte Objekt definiert mit onclick(view v) dann, was beim Drücken des Buttons btn passieren soll. In diesem Fall wird der String, welcher von der TextView tv anzeigt wird, aktualisiert mit einem String aus der Map m. Die Auswahl erfolgt zufällig über eine Pseudozufallszahl, die vom Objekt Random rnd generiert wird. Die Klasse Random findet man im Paket java.util. Listing 5: Nutzung des Beschleunigungsensors 2 public void onsensorchanged( SensorEvent event) { 4 // der Sensor aus ankommendem Event 5 Sensor sns2 = event. sensor; 6 // ist der Sensortyp, der, den wir suchen? 7 if( sns2. gettype() == Sensor. TYPE_ACCELEROMETER) 8 { 9 float x = event. values[0]; 10 float y = event. values[1]; 11 float z = event. values[2]; 12 final TextView tv = ( TextView) findviewbyid(r.id. txtv1); 13 tv. setx(tv. getx()-x); 14 } 15 } Dieser Quelltextabschnitt mit der Methode onsensorchanged(sensorevent event) beschreibt die Nutzung von Sensoren in unserer Applikation. Das Argument SensorEvent event enthält alle Informationen zu allen verfügbaren Sensoren. Das Attribut event.sensor vom Objekt event gibt uns an, welcher Sensor das Aufrufen der Methode onsensorchange(sensorevent event) verursacht hat. Ist es der Beschleunigungssensor, 4
5 dann lassen wir uns die genauen Veränderung in der Beschleunigung des Smartphones geben und verschieben die Position der Textview tv abhängig von der Änderung der Beschleunigung in Bezug zur x-koordinate. Listing 6: Sensor schlafen legen 2 protected void onpause() 3 { 4 super. onpause(); 5 this. snsmgr. unregisterlistener( this); 6 } 9 protected void onresume() 10 { 11 super. onresume(); 12 // starte Sensor 13 this. snsmgr. registerlistener(this,sns, SensorManager. SENSOR_DELAY_NORMAL); 14 } 17 public void onaccuracychanged( Sensor sensor, int accuracy) 18 { 19 } Das Problem, welches wir nun haben, ist, dass die Textview tv sich auch dann bewegt, wenn unsere Applikation nicht mehr im Vordergrund läuft. Um diesen Zustand zu beheben, verwenden wir die Methoden onpause() und onresume(). Im Grunde genommen rufen wir dort mit dem Schlüsselwort super die zugehörigen Methoden der Oberklasse AppCompatActivity auf und sorgen dafür, dass der Beschleunigungssensor schlafen gelegt wird. Dafür deregistrieren wir den Listener für Sensor sns, den wir in der Methode oncreate(bundle savedinstancestate) erstellt haben, wenn unsere Applikation nicht mehr im Vordergrund läuft. Wird unsere Applikation aufgeweckt, dann registrieren wir wieder unseren Listener für Sensor sns. Kommentare zur Datei activity_main.xml 1 <TextView Listing 7: Informationen zum Layout 2 android: layout_width=" wrap_content" 3 android: layout_height=" wrap_content" 4 android:id="@+id/ txtv1" 5 android: text=" Willkommen!" 6 android: textsize="24dp" 7 android: layout_above="@+id/ btn1" 8 android: layout_centerhorizontal=" true" 9 android: layout_marginbottom="83dp" /> 11 <Button 12 android: layout_width=" wrap_content" 13 android: layout_height=" wrap_content" 5
6 14 android: text=" Click me!" 15 btn1" 16 android: layout_centervertical=" true" 17 android: layout_centerhorizontal=" true" 18 android: clickable=" true" /> Dieser Teil enthält Informationen zum Layout von Objekten wie z.b Buttons oder TextViews. Wichtig ist, dass ihr nicht vergisst die verschiedenen Objekte über ihre IDs anzusprechen. Kommentare zur Datei AndroidManifest.xml Listing 8: Bildschirmausrichtung festlegen (Portrait) 1 <activity android: name=". MainActivity" android: screenorientation=" portrait"> 2 <intent - filter > 3 <action android: name=" android. intent. action. MAIN" /> 4 <category android: name=" android. intent. category. LAUNCHER" /> 5 </intent -filter > 6 </ activity > Mit dieser Datei könnt ihr verschiedenste Konfigurationen, wie z.b die Festlegung eurer minimum SDK version oder das allgemeine Layout eurer Applikation, vornehmen. Hier könnt ihr auch Berechtigungen für eure Applikationen anfordern, was zum Beispiel beim Absetzen von http requests notwendig ist. Listing 9: Anfordern von Berechtigungen 1 <uses - permission android: name=" android. permission. INTERNET" /> Weiterführende Informationen zu der Datei AndroidManifest.xml findet ihr unter dem folgenden Link Wie genau die Datei AndroidManifest.xml aussehen kann, seht ihr unter dem folgenden Link Eine umfangreiche Einführung in XML findet ihr unter 6
Teil I Augmented Learning - Vortragender: Krischan Udelhoven. Teil II Android - Vortragender: Folker Hoffmann
Teil I Augmented Learning - Vortragender: Krischan Udelhoven Teil II Android - Vortragender: Folker Hoffmann Inhalt 1.Warum Android? 2.Was ist Android? 3.Entwicklung mit Android 18. Januar 2010 Android
MehrAndroid-Apps weitere Möglichkeiten
Android-Apps weitere Möglichkeiten 2/20 weitere Möglichkeiten Speichern in der Sandbox OnTouchListener Senden und Empfangen von SMS Anbindung von Datenbanken Der Beschleunigungssensor Übung 3/20 Speichern
MehrGib dem Projekt (z.b.) den Namen MyApplication und klicke auf Next. Der Domain-Name ist beliebig.
Mit Android Studio Seiten mit Text, Bildern Schaltknöpfen generieren, um zu den Seiten und zum Internet navigieren zu können. Stufe 1: Gehe zu http://developer.android.com/sdk/index.html, lade Android
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Peter Zeller AG Softech FB Informatik TU Kaiserslautern Das Android Framework zur Entwicklung von Apps Bieniusa/Zeller Software Entwicklung 1 2/ 46 Frameworks
MehrCocktail-Rezepte-APP
Application Name: Cocktails Company Domain: gsog.de Empty Activity Main Activity: FindCocktailActivity Layout: activity_find_cocktail Was ist neu??
MehrSoftware Entwicklung 1. Das Android Framework zur Entwicklung von Apps. Bibliotheken Frameworks. Framework. Annette Bieniusa / Peter Zeller
Software Entwicklung 1 Annette Bieniusa / Peter Zeller Das Android Framework zur Entwicklung von Apps AG Softech FB Informatik TU Kaiserslautern Bieniusa/Zeller Software Entwicklung 1 2/ 46 Frameworks
MehrEinstieg in die App-Entwicklung für Android-Geräte mit Java. Dr. Cora Burger
182-96100 Einstieg in die App-Entwicklung für Android-Geräte mit Java Dr. Cora Burger www.cora-burger.de Tagesplan 10:00-11:30 Uhr Java-Wiederholungsquiz, Android Studio, HalloWelt-App 11:30-11:45 Uhr
MehrEinführung in die Android App-Entwicklung. Patrick Treyer und Jannis Pinter
Einführung in die Android App-Entwicklung Patrick Treyer und Jannis Pinter Agenda Was ist Android? Android Versionen Layout, Strings und das Android Manifest Activities, Intents und Services Entwicklungsumgebung
Mehr14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt
14.4.2016 Technische Hochschule Georg Agricola WORKSHOP TEIL 3 IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Morse-Tabelle...
MehrMobile Systeme Android 07.04.2011
Mobile Systeme Android 07.04.2011 Android Plattform/Betriebssystem für mobile Endgeräte wie z.b. Smartphones Basiert auf dem Linux Kernel Bis auf grundlegende Prozesse werden alle Anwenden mithilfe einer
MehrAndroid - Interaktion mit dem Benutzer. Leibniz Universität IT Services Anja Aue
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
MehrProgrammieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
MehrSkript zur Veranstaltung Android Apps
Skript zur Veranstaltung Android Apps Mentoring SoSe 2017 Toni Draßdo, Alexander Korzec, Nicolas Lehmann, Ferdous Nasri, Sönke Schmidt 21. Juni 2017 1 Vor dem Workshop Wir freuen uns darüber, dass du dieses
MehrHandbuch für die Erweiterbarkeit
Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6
MehrSEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM
SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM ÜBERSICHT Android Android Dalvik Virtuelle Maschine Android und Desktop Applikationen Android Entwicklung Tools R Activity
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
MehrEinführung in Android. 9. Dezember 2014
Einführung in Android 9. Dezember 2014 Was ist Android? Software für mobile Geräte: Betriebssystem Middleware Kernanwendungen Android SDK: Tools und APIs zur Entwicklung von Anwendungen auf der Android-Plattform
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrPraktikum 4: Grafiken und Ereignisse
Praktikum 4: Grafiken und Ereignisse Aufgabe 1: Java Applikation Bisher haben wir in Java (ebenso wie in C) jeweils selbständige Konsole-Applikationen erstellt. Java wurde als Programmiersprache für das
MehrPolymorphie. 15. Java Objektorientierung II
432 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 433 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrPolymorphie. 15. Java Objektorientierung II
446 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 447 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 13: Interfaces Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Interfaces Motivation Eigenschaften Besonderheiten Anonyme Klassen Lambda-Ausdrücke Praxis:
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrAndroid Entwicklung. MobileDevCamp Munich 31.10.2009 Markus Junginger. greenrobot_de
Android Entwicklung MobileDevCamp Munich 31.10.2009 Markus Junginger greenrobot_de Preis Scanner Apps Über mich Erste Android App: 2007 Erstes Mobile Projekt: 2001 10 Jahre Java & Internet Erfahrung 20
MehrAndroid GUI Entwicklung
Android GUI Entwicklung Aktuelle Technologien verteilter Java Anwendungen Referent: Stefan Haupt Hello World! Agenda Einführung & Motivation Android Applikationen UI-Komponenten Events Ressourcen Kommunikation
MehrEntwickeln für Android OS
Entwickeln für Android OS Am Beispiel der WAPLA Wissenschaftliche Arbeitstechniken und Präsentation Lern Applikation Christian Kain Kevin Kain Wolfgang Kremser Gregor Bankhamer Warum Android? Verbreitung
Mehr2. GUI-Programmierung für mobile Geräte
2. GUI-Programmierung für mobile Geräte Lernziele 2. GUI-Programmierung für mobile Geräte Themen/Lernziele: Einführung Lebenszyklus einer Android-Anwendung Beispiele GUI-Elemente Einbindung externer Ressourcen
MehrSkript zur Veranstaltung Android Apps
Skript zur Veranstaltung Android Apps Sommeruni 2018 Toni Draßdo, Alexander Korzec, Nicolas Lehmann, Ferdous Nasri, Sönke Schmidt 13. August 2018 1 Vor dem Workshop Wir freuen uns darüber, dass du dieses
MehrWebentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo
Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
Mehr4. Software-Kompponenten in Android Broadcast Intents und Broadcast Receivers. Broadcast Intents
Broadcast Intents Broadcast Intents sind eine spezielle Art von Intents, die auf Betriebssystemebene (genauer: Application Framework) verschickt werden, nicht auf der Anwendungsebene Zweck: informieren
MehrProgrammierung Nachklausurtutorium
Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel
MehrMobile App Development - Sensoren -
Mobile App Development - Sensoren - Inhalt Sensoren Sensor Framework Bewegungssensoren Posi2onssensoren Umweltsensoren?????????? GPS?????????? Sensoren Sensoren Was ist ein Sensor? Sensoren Defini2on Sensor
MehrNaviki GPS-Anwendungsentwicklung für Mobiltelefone www.naviki.org
Naviki GPS-Anwendungsentwicklung für Mobiltelefone www.naviki.org Fachhochschule Münster Labor für Software Engineering luzar@fh-muenster.de www.naviki.org 1 Naviki die Idee www.naviki.org 2 Wie funktioniert
MehrGoogle Android API. User Interface. Eine knappe Einführung
Google Android API User Interface Eine knappe Einführung Google Android API User Interface Designelement Wofür Klasse/Package View Basisklasse für alle Designelemente public class android.view.view Viewgroup
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG MOBILER ANDROID APPS
EINFÜHRUNG IN DIE PROGRAMMIERUNG MOBILER ANDROID APPS März 2014 Kurs an der Juniorakademie Heidenheim Heinke Hihn Inhaltsverzeichnis Einführung in die Programmierung mobiler Android Apps EINFÜHRUNG IN
MehrTechnische Hochschule Georg Agricola WORKSHOP TEIL 2. Veranschaulichung des EVA-Prinzips
12.1.2017 Technische Hochschule Georg Agricola WORKSHOP TEIL 2 Veranschaulichung des EVA-Prinzips Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Erklärung zum EVA-Prinzip... 3 2.1 Benötigte
MehrAndroid Programmierung mit Java Studiengang MI
Android Programmierung mit Java Studiengang MI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://mwilhelm.hs-harz.de Raum 2.202 Tel.
MehrAndroid Programmierung mit Java Studiengang MI
Android Programmierung mit Java Studiengang MI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://mwilhelm.hs-harz.de Raum 2.202 Tel.
MehrPakete Software Entwicklung 1
Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller 1 Organisation von Klassen- und Interface-Deklaration Java-Programme bestehen aus Typdeklarationen, d.h. Klassen- und Interface-Deklarationen.
MehrHeute. Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files IT I - VO 11 1
Heute Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files 17.01.2017 IT I - VO 11 1 Organisatorisches Noch zwei UE und eine Wissensüberprüfung Heute
MehrProgrammieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler
Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Inhalt Toast-Meldungen Permissions Sensoren GPS (Global Positioning System) Kamera Anzeigen von Koordinaten auf einer
MehrJava - Menü und Intent. Leibniz Universität IT Services Anja Aue
Java - Menü und Intent Leibniz Universität IT Services Anja Aue Menüs Auswahl von verschiedenen Möglichkeiten mit Hilfe von Menüeinträgen. Menüeinträge können Untermenüs öffnen. Definition des Menüs in
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
MehrProf. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen
Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
MehrExkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm
Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen
MehrIch liebe Java && Ich liebe C# Rolf Borst
Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
MehrKonstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }
Konstruktor spezielle Methode zum Initialisieren bei Erzeugen eines Objekts mit new trägt Namen der Klasse hat keinen Rückgabetyp keiner angegeben: Compiler erzeugt Standard-Konstruktor (analog: Attribute
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrSoftware Engineering II
Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
MehrLabor 1 : Hello, World
Labor 1 : Hello, World Ziel Sie sollten eine neue Applikation Hello, Android erstellen, dessen Startseite, wie folgt, aussieht (siehe Abbildung): 1. Der Name der Applikation ist Hello, Android. (Er wird
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrAndroid. 2 24.09.2013 Mobile Systeme - Android
Android 24.09.2013 Android Plattform/Betriebssystem für mobile Endgeräte wie z.b. Smartphones Basiert auf dem Linux Kernel Bis auf grundlegende Prozesse werden alle Anwenden mithilfe einer speziellen JVM
MehrGraphische Benutzungsoberflächen
Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 8 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Vererbung Vererbung Statischer Typ Dynamischer Typ 2 Polymorphie Overloading: Methoden überladen Overriding:
MehrMobile App Development. - Grafische Oberflächen 2 -
Mobile App Development - Grafische Oberflächen 2 - Inhalt Dimensionen Layouting Menüs Activities starten Übung Dimensionen Dimensionen Analog zu Strings und Farben können Dimensionen definiert werden Dimensionen
MehrProgrammieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler
Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Intents (Wiederholung I) Ein Intent erklärt die Absicht eine bestimmte Activity auszuführen Explizit durch Angabe einer
MehrInhaltsverzeichnis. Apps für Android entwickeln
Inhaltsverzeichnis zu Apps für Android entwickeln von Jan Tittel und Jochen Baumann ISBN (Buch): 978-3-446-43191-1 ISBN (E-Book): 978-3-446-43315-1 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-43191-1
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrModularisierung in Java: Pakete Software Entwicklung 1
Modularisierung in Java: Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Um zusammengehörende Klassen, Interfaces, etc. gemeinsam zu verwalten, Sichtbarkeiten einzugrenzen und
MehrTeil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen
Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für
MehrFragen zur OOP in Java
- 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...
Mehr6 Oberflächen und Daten
111 6 Oberflächen und Daten Nachdem wir nun viel über die Gestaltung von Oberflächen und den Zugriff auf Views gelernt haben, möchten wir in diesem Kapitel zeigen, wie man Bildschirmseiten mit Daten aus
MehrÜbungen zur Android Entwicklung
Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch
MehrProgrammierung WS12/13 Lösung - Präsenzübung M. Brockschmidt, F. Emmes, C. Otto, T. Ströder
Prof. aa Dr. J. Giesl M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Aufgabe 1 (Programmanalyse): (9 + 1 = 10 Punkte) a) Geben Sie die Ausgabe des Programms für den Aufruf java M an. Tragen Sie hierzu
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrMethoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
MehrWiederholung. Klassenhierarchie:
Wiederholung Klassenhierarchie: class Unter extends Ober {... Die Unterklasse Unter erweitert die Funktionalität ihrer Oberklasse Ober. Objekte der Klasse Unter können anstelle von Objekten der Klasse
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrSilke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch
MehrAndroid - Ressource. Leibniz Universität IT Services Anja Aue
Android - Ressource Leibniz Universität IT Services Anja Aue Ressourcen Verwaltung von Informationen zur Benutzeroberfläche ähnlich wie Cascading Style Sheets. Ablage von Strings, Bildern etc. in einer
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
MehrVorkurs Informatik WiSe 15/16
Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrEinführung in Android (2) 16. Dezember 2014
Einführung in Android (2) 16. Dezember 2014 Überblick Entwicklung der Benutzeroberfläche Views Layouts Menüs Listen und Adapter Einbinden weiterer Ressourcen Aktivierung von Activities Entwicklungsrichtlinien
MehrGebundene Typparameter
Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte
MehrIT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1
IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft
Mehr7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen
7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen
MehrWeitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax
Weitere Beispiele Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts public interface Funktion { boolean istimdefbereich(double x); double wert(double x); String gibbeschreibung(); public interface
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrNFC Near Field Communication 30.04.2013
NFC Near Field Communication 30.04.2013 NFC Near Field Communication Standard für kontaktlose Kommunikation auf Basis von RFID (radiofrequency identification) Fast Verschiedene RFID-Standards im 13,56
MehrSoftware-Entwicklung für Android und ios
Software-Entwicklung für Android und ios Teil 5: Sensoren Typen von Sensoren Zweck Beispiele Hardware-Sensoren Ermitteln tatsächliche Werte Accelerometer, Magnetometer, Gyroskop, Barometer, Näherungssensor,
MehrProgrammiererfahrungen mit Android Senad Li ina
Programmiererfahrungen mit Android Senad Li ina Seminar Android: Plattform für mobile Geräte Arbeitsbereich Wissenschaftliches Rechnen Department Informatik Uni Hamburg Hamburg, 27.07.2010 Inhaltsverzeichnis
MehrGraphische Benutzungsoberflächen mit Java. Einführung in NetBeans
Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung
MehrÜberleben im Funkloch
Überleben im Funkloch Offlinefähige Apps für Android entwickeln Christian Janz (@c_janz ) christian.janz@bridging-it.de Christian Janz Consultant im Bereich Softwareentwicklung Java/JEE bei Bridging IT
MehrObjektorientierte Programmierung. Kapitel 14: Interfaces
14. Interfaces 1/26 Objektorientierte Programmierung Kapitel 14: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/ brass/oop13/
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
Mehr2. GUI-Programmierung für mobile Geräte
2. GUI-Programmierung für mobile Geräte Lernziele 2. GUI-Programmierung für mobile Geräte Themen/Lernziele: Einführung Lebenszyklus einer Android-Anwendung Beispiele GUI-Elemente Einbindung externer Ressourcen
MehrWie ich lernte die API zu lieben. 19. März 2013. bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell
Burp- Burp- Wie ich lernte die zu lieben 19. März 2013 bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell Burp- Was erwartet uns? Das erwartet euch Theorie:
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
MehrMeta Programming and Reflection in Java
Meta Programming and Reflection in Java Overview instanceof operator Java Annotations Java Reflection instanceof operator vergleicht ein Objekt mit einem bestimmten Typ testet ob ein Objekt ist eine Instanz
Mehr7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code:
7. Arrays Gelegentlich braucht man für ein Programm mehrere Attribute desselben Datentyps oder derselben Klasse. Beispiel: In der Highscore-Liste eines Spiels werden von den 10 besten Spielern die Namen
MehrFachhochschule Stuttgart Prof. Uwe Schulz 5. Juli 2006 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4
Hochschule der Medien Klausur Informatik, EDV-Nr. 40301(42021) Seite 1 von 4 Name: Matr. Nr.: Note Teil 1: Keine Hilfsmittel! Bearbeitungszeit: 20 Minuten Frage Stichwort Punkte 1 Schleife 2 2 Code-Fragment
Mehr