Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler
|
|
- Philipp Kalb
- vor 6 Jahren
- Abrufe
Transkript
1 Programmieren für mobile Endgeräte SS 2013/2014
2 Programmieren für mobile Endgeräte 2 Ressourcen XML in der Android-Entwicklung zur Definition von Ressourcen Im /res Ordner layout: Definition von Layouts values: Strings, Größenangaben (Dimensions), Farben, Stile anim/animator: Animation menu: Menüs Nicht als XML: drawables: Grafiken (bevorzugt: PNG) Bei Bedarf individuell (per Postfix-Angabe) bspw.: Auflösungen (ldpi, mdpi, hdpi oder xhdpi) SDK-Versionen Gerätetypen
3 Programmieren für mobile Endgeräte 3 Ressourcen (II) Hinzufügen neuer Ressourcen in Eclipse File New New Android XML File Ressource-Typ wählen Spezialisierung
4 Programmieren für mobile Endgeräte 4 Ressourcen (III) Wozu der Aufwand? 1. Möglichst scharfe Trennung von Daten und ihrer Darstellung 2. Möglichst keine harte Verdrahtung von Systemspezifika (z.b. Bildschirmauflösung) oder Systemeinstellungen (z.b. Sprache) Zu Punkt 1: Auch Model-View-Controller (MVC) Pattern genannt Model: Die konkreten Daten auf denen eine Anwendung arbeitet View: Was bekommt der Nutzer zu sehen Controller: Bindeglied zwischen View und Model
5 Programmieren für mobile Endgeräte 5 Model-View-Controller RelativeLayout (View) activity_main.xml <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent tools:context=".compassactivity" > <EditText android:id="@+id/edittext1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputtype="textpersonname" > </EditText> </RelativeLayout> Person (Model) public class Person { private String name; public void setname(string name) { this.name = name MyActivity (Controller) public class MyActivity extends Activity { private Person person = new Person(); protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // inflate setcontentview(r.layout.activity_main); public void onkey(view view, int keycode, KeyEvent event) { if (event.getaction() == KeyEvent.ACTION_DOWN) { if (keycode == KeyEvent.KEYCODE_ENTER) { person.setname(((edittext)view).gettext().tostring()); ((EditText)view).setText(""); return true; return false; Kommunikation Controller View public String getname() {return name; Kommunikation Controller Model
6 Programmieren für mobile Endgeräte 6 Mehr zu Layouts: dp (density-independent pixels) dt ist eine Pixel-unabhängige Maßeinheit Sie wird für die Beschreibung von Layoutgrößen empfohlen Ohne Pixelunabhängigkeit erscheinen Layouts bei verschiedenen Auflösungen verschieden groß pixelabhängig pixelunabhängig Auflösung Auflösung Grafiken bei dp-skalierung schnell pixelig oder verschwommen Daher: Grafiken in verschiedenen Auflösungen anbieten Ordner: drawable-(ldpi mdpi hdpi xhpi) Vgl. Icon-Generierung bei neuem Projekt Quelle:
7 Programmieren für mobile Endgeräte 7 Mehr zu Layouts: layout_width height Höhe und Breite können wie folgt definiert werden feste Maßeinheit: 70dp Layout-Parameter: match_parent, wrap_content match_parent: so groß wie Elternelement (abzüglich Padding) wrap_content : gerade so groß, dass der Inhalt hinein passt Hello World Hello World match_parent wrap_content
8 Programmieren für mobile Endgeräte 8 Mehr zu Layouts: RelativeLayout Neben dem GridLayout das flexibelste Layout Anordnung der Elemente durch Layout-Parameter: <TextView android:id="@+id/textview1" android:layout_width="wrap_content" android:layout_height="wrap_content android:layout_alignparenttop="true" android:layout_alignparentleft="true" android:text AlignParentLeft_Top "/> <TextView android:id="@+id/textview2 android:layout_alignparentright="true" android:layout_alignparenttop="true android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="alignparentright_top"/> <TextView android:id="@+id/textview3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerinparent="true" android:text="centerinparent />
9 Programmieren für mobile Endgeräte 9 Mehr zu Layouts: RelativeLayout Anordnung durch Anker (Verweise auf andere Elemente per ID) <TextView android:id="@+id/textview3" android:layout_centerinparent="true" /> <TextView android:id="@+id/textview4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centervertical="true" android:layout_marginright="25dp" android:layout_toleftof="@+id/textview3" android:paddingtop="50dp" android:text="centertoleftof" /> <TextView android:id="@+id/textview5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centervertical="true" android:layout_marginleft="25dp" android:layout_torightof="@id/textview3" android:paddingtop="50dp" android:text="centertorightof" />
10 Programmieren für mobile Endgeräte 10 Listener View-Elemente nehmen Nutzereingabe entgegen Nach MVC keine (modellbasierte) Verarbeitung von Eingaben Controller registrieren bei den View-Elementen Listener Views informieren diese über bestimmte Eingaben MyActivity Model protected void oncreate(bundle savedinstancestate) { Button button = (Button) findviewbyid(); button.setonclicklistener(myonclicklistener()); MyOnClickListener public void onclick(view view) { // do something
11 Programmieren für mobile Endgeräte 11 Listener (II) Drei Möglichkeiten einen Listener zu registrieren: 1. Implizit über den Designer: 2. Explizit public class MyActivity extends Activity { public void ontoggleclicked(view view) { public class MyListener implements OnClickListener { public void ontoggleclicked(view view) { public class MyActivity extends Activity { protected void oncreate(bundle savedinstancestate) { Button button = (Button) findviewbyid(); button.setonclicklistener(new MyListener()); Auch die Activity selbst darf als Listener fungieren!
12 Programmieren für mobile Endgeräte 12 Listener (III) 3. Anonym public class MyActivity extends Activity { protected void oncreate(bundle savedinstancestate) { Button button = (Button) findviewbyid(); final Object attribute = ; button.setonclicklistener(new OnClickListener() { public void onclick(view v) { // verarbeiten und irgendwas mit attribute machen ); Compiler legt eine anonyme Subklasse zu MyActivity an Klasse ist nicht statisch, daher Zugriff auf MyActivity - Attribute möglich Lokale Attribute müssen für Zugriff im Listener final sein
13 Programmieren für mobile Endgeräte 13 Form-Widgets Neben den Layouts die wichtigsten Komponenten zu erstellen von Oberflächen Button (siehe letzte Vorlesung) ist ein einfaches Form-Widget Mehrere Widgets können als ViewGroup zusammengefasst werden So können neue Nutzer-definierte Widgets entstehen Nachfolgend wird eine Auswahl vorgestellt
14 Programmieren für mobile Endgeräte 14 Form-Widgets (Auswahl I) ToggleButton Ein Button mit zwei Zuständen: On/Off Zustand schaltet automatisch bei Klick (Touch) um Zustandsbezeichnung kann geändert werden RadioButton, CheckBox Ebenfalls zwei Zuständen: checked/unchecked RadioButton kann nicht von checked zu unchecked wechseln RadioGroup Kapselt eine beliebige Anzahl an RadioButtons Nur einer der Buttons kann im Zustand checked sein.
15 Programmieren für mobile Endgeräte 15 Form-Widgets (Beispiel) ToggleButton zum Aktivieren von Nutzer- Logging in einer Activity RadioGroup zur Auswahl des Log-Levels Herausforderung: RadioButtons nur aktiv, wenn Logging auf On Vorarbeit: 1.Log-Level-Enum/Attribut mit den Werten VERBOSE, DEBUG, INFO 2.Boolesches Log-Attribut (default: false) in der Activity 3.Listener-Methode für die Buttons (Designer/Code) 4.Log-Methode log, die entsprechend des Log-Levels loggedt 5.Im Designer für alle RadioButtons Clickable deaktivieren
16 Programmieren für mobile Endgeräte 16 Form-Widgets (Beispiel: Code I) public class WidgetTestActivity extends Activity { protected static enum LogLevel {VERBOSE, DEBUG, INFO // 1 private LogLevel loglevel = LogLevel.VERBOSE; private boolean log = false; // 2 public void ontoggleclicked(view view) { // 3 // protected void log(string methodname, String message) { // 4 if (!this.log) return ; message = message + " (invoked by: " + methodname + ")"; switch (this.loglevel) { case VERBOSE: Log.v(this.getClass().getSimpleName(), message); break; case DEBUG:Log.d(this.getClass().getSimpleName(), message); break; case INFO: Log.i(this.getClass().getSimpleName(), message); break; In LogCat kann nach Log-Tags (Log.?(TAG, )) gefilter werden
17 Programmieren für mobile Endgeräte 17 Form-Widgets (Beispiel: Ressourcen) Im deaktivierten Zustand sollen die RadioButtons ausgegraut sein Neue Ressource: values/colors.xml Farbe im Designer zuweisen: <resources> <color name="view_text_enabled">#333</color> <color name="view_text_disabled">#999</color> </resources> Zugriff auf Ressourcen im Source-Code colors.xml <resources> <color name= MyColor"></color> </resources> final class R public static final class color { public static final int MyColor=0x7f040001; MyActivity int colorid = R.color.MyColor; int color = this.getresources().getcolor(colorid); // Liefert die ID, nicht den Wert! // Die Wert hinter der ID!
18 Programmieren für mobile Endgeräte 18 Form-Widgets (Beispiel: Code II) Funktionalität des ToggleButtons implementieren public void ontoggleclicked(view view) { this.log = ((ToggleButton)view).isChecked(); log("ontoggleclicked", ); // toggle Flag toggleclickable(r.id.radio0, R.id.radio1, R.id.radio2); // toggle RadioButons protected void toggleclickable(int... ids) { View view; for (int id : ids) { view = findviewbyid(id); view.setclickable(!view.isclickable()); // toggle Clickable if (view instanceof TextView) { int colorid = this.log? R.color.view_text_enabled : R.color.view_text_disabled; ((TextView)view).setTextColor(getResources().getColor(colorId)); // toggle Farbe log("toggleclickable", )
19 Programmieren für mobile Endgeräte 19 Form-Widgets (Beispiel: Code III) Funktionalität der RadioButtons implementieren RadioButtons und ToggleButton teilen sich eine Listener-Methode In der Methode muss also unterschieden werden public void ontoggleclicked(view view) { if (view instanceof ToggleButton) { // siehe Folie zuvor return ; public void ontoggleclicked(view view) { switch (view.getid()) { case R.id.toggleButton1: // siehe Folie zuvor break; if (view instanceof RadioButton) { String text = ((RadioButton)view).getText().toString(); case R.id.radio0: case R.id.radio1: case R.id.radio2: try { this.loglevel = LogLevel.valueOf(text.toUpperCase()); log("ontoggleclicked", ); catch (Exception e) { log("ontoggleclicked", break; instanceof id-switch
20 Programmieren für mobile Endgeräte 20 Form-Widgets (Auswahl II) ImageView Widget zum Einbinden von Bildern SeekBar Balken der einen Wert innerhalb einer Bereichsgröße repräsentiert Erlaubt Nutzereingabe per Slider Spinner Auswahlkompente Auswahlmöglichkeiten werden erst nach Click/Touch angezeigt
21 Programmieren für mobile Endgeräte 21 Form-Widgets (Beispiel II) ImageView mit einem Bild SeekBar zum Manipulieren des Alpha- Kanal des Bildes Spinner mit Farbauswahl zum Einfärben des Bildes Vorarbeit: 1.Neuer Ordner res/drawable und Bild per Dragndrop hinzufügen 2.Bild im Designer zuweisen 3.Activiaty um OnSeekBarChangeListener und OnItemSelectedListener erweitern (implements) 4.Interface-Methoden-Stubs implementieren 5.Activity als Listener für SeekBar und Spinner registrieren
22 Programmieren für mobile Endgeräte 22 Form-Widgets (Beispiel II: Code I) public class WidgetTestActivity extends Activity implements OnSeekBarChangeListener, OnItemSelectedListener { // 3 // OnSeekBarChangeListener // 4.1 public void onstarttrackingtouch(seekbar seekbar) {log(, ); public void onstoptrackingtouch(seekbar seekbar) {log(, ); public void onprogresschanged(seekbar seekbar, int progress, boolean fromuser) {log(, ); // OnItemSelectedListener // 4.2 public void onitemselected(adapterview<?> parent, View view, int position, long id) {log(, ); public void onnothingselected(adapterview<?> parent) {log( onnothingselected", ); protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // inflate setcontentview(r.layout.activity_widget_test); SeekBar bar = (SeekBar) findviewbyid(r.id.seekbar1); // 5 bar.setonseekbarchangelistener(this); Spinner spinner = (Spinner) findviewbyid(r.id.spinner1); spinner.setonitemselectedlistener(this);
23 Programmieren für mobile Endgeräte 23 Form-Widgets (Beispiel II: Ressourcen) Spinner soll vordefinierte Auswahl an Farben anbieten Mehrere Strings können als String-Array-Ressource angelegt werden Farbnamen werden der von android.graphics.color übernommen <resources> <string-array name="colors"> <item>black</item> <item>blue</item> <item>cyan</item> <item>gray</item> <item>green</item> <item>magenta</item> <item>red</item> <item>white</item> <item>yellow</item> </string-array>> </resources> package android.graphics; public class Color { public static final int BLACK public static final int GRAY public static final int WHITE public static final int RED public static final int GREEN public static final int BLUE public static final int YELLOW public static final int CYAN public static final int MAGENTA = 0xFF000000; = 0xFF888888; = 0xFFFFFFFF; = 0xFFFF0000; = 0xFF00FF00; = 0xFF0000FF; = 0xFFFFFF00; = 0xFF00FFFF; = 0xFFFF00FF; Array wird dann über den Designer mit dem Spinner verbunden
24 Programmieren für mobile Endgeräte 24 Form-Widgets (Beispiel II: Code II) Funktionalität des SeekBars implementieren public void onprogresschanged(seekbar seekbar, int progress, boolean fromuser) { ImageView image = (ImageView) findviewbyid(r.id.imageview1); image.setimagealpha(progress); log("onprogresschanged", ); Per Default ist der Wertebereichs eines SeekBars Ein ARGB-Farbwert wird als int gespeichert Für einen Farbkanal gilt daher der Wertebereich: int 32Bit 8 8Bit # alpha, red, green, blue 4 SeekBar-Maximum sowie Startwert umstellen auf 255: Das SeekBar-Minimum kann nicht geändert werden!
25 Programmieren für mobile Endgeräte 25 Form-Widgets (Beispiel II: Code III) Funktionalität des Spinners implementieren public void onitemselected(adapterview<?> parent, View view, int position, long id) { String[] colors = getresources().getstringarray(r.array.colors); ImageView image = (ImageView) findviewbyid(r.id.imageview1); int color = Color.parseColor(colors[position]); image.setcolorfilter(color, PorterDuff.Mode.MULTIPLY); log("onitemselected", ); Übergeben wird mit position der Index des angeklickten Elementes Der zugehörige Wert wird im String-Array erfragt Per parsecolor wird dieser dann zum Farbwert geparst Die Einfärbung wird dann per setcolorfilter erreicht Zu PorterDuff.Mode.MULTIPLY: Jeder Pixel im Ausgangsbild wird mit dem übergebenen Farbwert multipliziert
26 Programmieren für mobile Endgeräte 26 Form-Widgets (Auswahl III) EditText Texteingabe Viele vordefinierte Varianten für bestimmte Einsatzzwecke Eingabe per OnKeyListener überwachen (hier Enter ): public boolean onkey(view v, int keycode, KeyEvent event) { if (event.getaction() == KeyEvent.ACTION_DOWN) { if (keycode == KeyEvent.KEYCODE_DPAD_CENTER keycode == KeyEvent.KEYCODE_ENTER) { // Enter wurde gedrückt return true; return false; ; Per getaction() wird überprüft ob eine Taste gedrückt wurde Der keycode verrät welche Taste
27 Programmieren für mobile Endgeräte 27 Aufgabe 1.Implementieren Sie aus Beispiel II den SeekBar und ImageView in einem neuen Projekt 2.Erweitern Sie die Anwendung so, dass unmittelbar unter dem Seekbar drei Textfelder angezeigt werden: 1.Zwei angepasst an den linken bzw. rechten Rand des SeekBars 2.Eines in der Mitte des Layouts 3.Das linke bzw. rechte Feld soll die Grenzen anzeigen, das mittlere den aktuell eingestellten Wert 3.Erweitern Sie die Anwendung um ein EditText, dessen Wert bei Eingabeabschluss (Enter) zu einem Farbwert geparst und analog zum Beispiel II als Einfärbung für das ImageView benutz werden soll. Gucken Sie sich dazu die Methode android.graphics.color.parsecolor genauer an (
Android 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
MehrMobile App Development. - Grafische Oberflächen -
Mobile App Development - Grafische Oberflächen - Inhalt Ressourcen Allgemeines Views Layouting Ressourcen Android Ressourcen Ressourcen sind Dateien und Objekte, wie Layouts, Bilder, Farben und IDs Zu
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
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 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
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
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
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
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 User Interface
Android User Interface Eine Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 2 besprechen (inkl. Repetition)
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
MehrEinführung in Android
Einführung in Android FH Gießen Friedberg 12. Oktober 2010 Inhalt Historie / Prognosen / Trends Grundlagen Entwicklungsumgebung Standardbeispiel Erweitertes Beispiel Übung / Quellen 2 Grundlagen - Historie
MehrTeil 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
MehrAnforderung. View Button. <LinearLayout android:layout_width="match_parent" Layout. <TextView.../> android:orientation="vertical"> LinearLayout
Activities Views und Layouts Activity Benutzer Interaktion FullScreen UI-Element View und ViewGroup View: Abstrakte Basisklasse für UI-Komponenten (Widgets) ViewGroup: View, Sammlung/Kontainer von Views
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
MehrTutorial. Programmierung einer Android-Applikation. Teil 1
Tutorial Programmierung einer Android-Applikation Teil 1 Autor: Oliver Matle Datum: März 2014, Version 1.0 Autor: Oliver Matle, www.matletarium.de Seite 1 von 28 Inhaltsverzeichnis Kapitel 1 Einleitung...3
MehrAndroid Apps. Mentoring SS 16. Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016
Android Apps Mentoring SS 16 Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016 Wichtige Dateien MainActivity.java activity_main.xml AndroidManifest.xml Die Dateien MainActivity.java,
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
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
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
MehrAndroid Einführung Fragments Android Kurs Stufe 2 (Orangegurt)
Android Kurs Stufe 2 (Orangegurt) Inhaltsverzeichnis 1 Fragments... 2 2 Der Life Cycle eines Fragments... 2 3 Die Supportlibrary oder das Problem mit der Version... 3 4 Aufbau der Layouts... 4 5 OnClickListener...
MehrAndroid-Ergänzungen. Programmieren in Java
Android-Ergänzungen zu Programmieren in Java von Fritz Jobst ISBN 978-3-446-41771-7 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-41771-7 sowie im Buchhandel Carl
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
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
MehrSeminar Multimediale Werkzeuge Sommersemester 2011
Seminar Multimediale Werkzeuge Sommersemester 2011 Dipl.-Ing. Marco Niehaus marco.niehaus@tu-ilmenau.de 09.06.2011 Page 1 Android Development - Installation Java SDK wird benötigt (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
MehrProgrammieren in Java
Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
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
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
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 Besprechung der Aufgaben 1) Legen Sie das Android-Projekt HelloWorldApp an so wie es in den vorherigen Folien beschrieben
MehrAndroid - In einer View zeichnen. Leibniz Universität IT Services Anja Aue
Android - In einer View zeichnen Leibniz Universität IT Services Anja Aue Was wird benötigt? Ein Atelier (ondraw()). Eine Leinwand (android.graphics.canvas). Pinsel (android.graphics.paint) und Farbe.
MehrAndroid Theading Android Kurs Stufe 2 (Orangegurt)
Android Kurs Stufe 2 (Orangegurt) Inhaltsverzeichnis 1 Threading... 2 2 Umzusetzende Funktionalität... 3 3 Lösung mit eigenem Thread... 4 3.1 Die einfache Thread Lösung... 4 3.2 Thread Lösung mit eigener
MehrApp Entwicklung mit dem Android SDK
App Entwicklung mit dem Android SDK Grafische Benutzeroberfläche Dominik Wagner Informatik Sommercamp 2012 23.7.2012 Kurze Übersicht Um ein Layout für eine Android-Anwendung zu definieren schreibt man
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
MehrModellierung einer Android-App. 2. Mai 2013
Modellierung einer Android-App 2. Mai 2013 Taentzer Software-Praktikum 2013 42 Überblick Modellierung der wesentlichen Aspekte Welche Anwendungsfälle haben wir? Übersicht durch Anwendungsfalldiagramme
MehrProgrammieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden
MehrEnumerations und innere Klassen
Enumerations und innere Klassen Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung
MehrInstitut für Informatik
Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2009 Praktikum: Grundlagen der Programmierung Aufgabenblatt 11 Prof. R. Westermann, R. Fraedrich,
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...
Mehr5 Oberflächengestaltung
D3kjd3Di38lk323nnm 49 5 Oberflächengestaltung Die Qualität der Programmoberfläche ist ein wichtiges Kriterium für die Akzeptanz durch den Anwender. Schon durch den geschickten Einsatz der bereitgestellten
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
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
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,
Mehr5.5 Schaltflächen und Menüs
68 5 Oberflächengestaltung Texte definieren Um die Verweise auf Ressourcen aufzulösen, definieren wir die Texte in der Datei /res/values/strings.xml. Dort legen wir die folgenden Einträge an:
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
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,
MehrJetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.
Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens
MehrApplets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer
Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,
MehrJava Beans. http://java.sun.com/beans/
Java Beans http://java.sun.com/beans/ Software Komponenten Eine Software Komponente ist ein eigenständiges, flexibles und einfach wieder verwendbares Stück Software. In Java: + Plattformunabhängigkeit
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrDesign Patterns 2. Model-View-Controller in der Praxis
Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden
MehrListing- und Abbildungsverzeichnis
Hochschule München Fakultät 07 Informatik und Mathematik Seminararbeit Android GUI Entwicklung mit Native Java Verfasser: Stefan Haupt Matrikelnummer: 06479910 Fach: Aktuelle Technologien verteilter Java
MehrLayouts Übersicht. FrameLayout Vermeiden. TableLayout. LinearLayout. FrameLayout Vermeiden. FrameLayout: Links oben. LinearLayout.
Layouts Übersicht FrameLayout Vermeiden Alles links oben Standard Horizontal und vertikal, nebeneinander Verschachteln (kann langsam werden) TableLayout nur für Tabellen GridLayout Geordnetes Layout Neuer
MehrAndroid Layouts + Views Android Kurs Stufe 1 (Gelbgurt)
Android Kurs Stufe 1 (Gelbgurt) Inhaltsverzeichnis 1 Allgemeines... 2 2 Das Layout Grundproblem... 2 3 Alternative Layoutvorgaben... 3 4 XML als Layoutdefinition... 4 4.1 Allgemeine XML Layoutangaben...
MehrProgrammieren von Webinformationssystemen
Programmieren von Webinformationssystemen Wolfgang Gassler Databases and Information Systems (DBIS) Institute of Computer Science University of Innsbruck dbis-informatik.uibk.ac.at 1 HTML Hypertext Markup
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
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
Mehr1 Ein erstes Beispiel
3 1 Ein erstes Beispiel In diesem Abschnitt werden wir ein erstes Android-Programm erstellen. Es dient dem schnellen Einstieg in die Programmierung von Android. Dabei handelt es sich um ein Programm zur
MehrProgrammieren für Wirtschaftswissenschaftler SS 2015
DEPARTMENT WIRTSCHAFTSINFORMATIK FACHBEREICH WIRTSCHAFTSWISSENSCHAFT Programmieren für Wirtschaftswissenschaftler SS 2015 Lucian Ionescu Blockveranstaltung 16.03 27.3.2015 7. Graphische Oberflächen Ein
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
MehrJOGGA Der Jogging-Companion
JOGGA Der Jogging-Companion GLIEDERUNG: (1) Idee (2) Funktionen (3) Codebeispiele IDEE: Jeder Jogger kennt das Problem: Man rafft sich auf um eine Runde zu laufen, schwitzt während dessen ohne Ende und
MehrAndroid Settings Dialog Android Kurs Stufe 2 (Orangegurt)
Android Kurs Stufe 2 (Orangegurt) Inhaltsverzeichnis 1 Settings Dialog... 2 2 Der Grundgedanke... 2 3 Das erste Beispiel... 3 3.1 Das Layout der MainActivity... 3 3.2 Die Settings Activity... 3 3.3 Das
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
MehrTutorial. Programmierung einer Android-Applikation Notizzettel. Teil 2
Tutorial Programmierung einer Android-Applikation Notizzettel Teil 2 Autor: Oliver Matle Datum: April 2014, Version 1.0 Autor: Oliver Matle, www.matletarium.de Seite 1 von 23 Inhaltsverzeichnis Kapitel
MehrDatenbankanwendungsprogrammierung Crashkurs Java
Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung
Mehr1 Polymorphie (Vielgestaltigkeit)
1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen
MehrAndroid Umgebung einrichten Android Kurs Stufe 1 (Gelbgurt)
Android Kurs Stufe 1 (Gelbgurt) Inhaltsverzeichnis 1 Einleitung... 2 2 Kursaufbau... 2 3 Aufbau der Entwicklungs-Infrastruktur... 3 4 Installation der Entwicklungsumgebung... 3 5 Grundgedanken... 4 6 HelloWorld
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
MehrMi. 12. Nov. 2003 WA73 - R. 0611. Projekt Software Engeneering 2003/04. SWT & JFace. Norman Thomas Rogowski
Mi. 12. Nov. 2003 WA73 - R. 0611 Projekt Software Engeneering 2003/04 SWT & JFace Norman Thomas Rogowski Was ist SWT? Standard Widget Toolkit Baut auf native Oberfläche auf Aussehen entspricht exakt dem
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
MehrAndroid Processes & Services
Android Processes & Services Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 4 besprechen (inkl. Repetition)
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
Mehr2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)
2. Methoden n Generelles zum Aufruf von Methoden n Parameterübergabemechanismen (call by value, call by reference) n Speicherorganisation bei Methodenaufruf und Parameterübergabe (Laufzeitkeller) n vararg
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces
10 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Interfaces Aber: Mehrfachvererbung von Klassen ist in Java nicht erlaubt. Ausweg Definition eines Interfaces, z.b.:
MehrDatentypen: Enum, Array, Struct, Union
Datentypen: Enum, Array, Struct, Union C-Kurs 2013, 2. Tutorium Freitagsrunde http://wiki.freitagsrunde.org 10. September 2013 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrJava für Computerlinguisten
Java für Computerlinguisten 2. Objektorientierte Programmierung Christian Scheible Institut für Maschinelle Sprachverarbeitung 28. Juli 2009 Christian Scheible Java für Computerlinguisten 28. Juli 2009
MehrProgrammieren I. Kapitel 8. Vererbung
Programmieren I Kapitel 8. Vererbung Kapitel 8: Vererbung Ziel: Wesentliches objektorientiertes Konzept kennenlernen Subtypen Idee Probleme und Varianten Vererbung in Java dynamische Bindung abstrakte
MehrPraktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005
Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:
MehrSommersemester Implementierung III: GUI und Verhalten (Teil 2)
Sommersemester 2003 Implementierung III: GUI und Verhalten (Teil 2) 26 Aufgabe 5 Implementierung III: GUI und Verhalten (Teil 2) Umfang: 1 Woche Punkte: 50 P. Als Nächstes soll die Implementierung des
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
MehrJAVA - Methoden
Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können
MehrAbschnitt 9: Schnittstellen: Interfaces
Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung
MehrAuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
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
MehrJavakurs für Fortgeschrittene
Javakurs für Fortgeschrittene Einheit 05: FXML & Scene Builder Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda FXML und Scene Builder Scene Builder installieren und Demo Controller
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrAndroid will doch nur spielen. Java Eine kurze Einführung
Android will doch nur spielen Java Eine kurze Einführung Agenda Einführung in Java Syntax und Semantik Komplexe Datenstrukturen OOP Weitere Java-Elemente 2 Einführung in Java Was ist Java? lt. Sun: einfach
Mehr7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure
7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
Mehr5 Grundlagen der Java-Syntax
5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten
MehrApp-Entwicklung mit Android Studio
Thema: App-Entwicklung mit Android Studio Name der Autorin/ des Autors: Fach: Klasse/Jahrgangsstufe: Schulart: Lehrplanbezug: Jochen Pogrzeba,StR Max-Weber-Schule, Freiburg Informatik, Wirtschaftsinformatik
MehrDHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung
DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;
MehrÜbung 1: Object Inspector
Übung 1: Object Inspector Es ist ein System zu entwickeln, mit dem man Objektstrukturen bezüglich ihrer Properties analysieren und dann in einem Tree Viewer (JTree) anzeigen und bearbeiten kann. Properties
MehrEclipse Tutorial.doc
Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Kommunikationstechnik Labor für Technische Informatik Eclipse Tutorial 2005, HTI Burgdorf R. Weber Dateiname: Eclipse
MehrProblemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.
Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden
MehrReversi: Server und manueller Spieler
Reversi: Server und manueller Spieler Plenum Programmierpraktikum 2006-12-14 Kodierung der Textdateien Einstellung für alle Projekte: Window Preferences Workspace Text file encoding. Auf UTF-8 stellen.
Mehr2.2 Prozesse in Java
2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.
MehrAccounts und Kontakte in Android
Accounts und Kontakte in Android Die letzten Wochen habe ich daran gearbeitet, die Kontakte der AddressTable von Leonardo und mir ins Android Adressbuch zu bringen. Dazu habe ich die AddressManagement-Applikation
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
Mehr