Android-Geräte programmieren 1. Einstieg. Stefan Rothe



Ähnliche Dokumente
Android-Geräte Programmieren 4. Hinweise zur Android-Programmierung. Stefan Rothe

Android-Geräte Programmieren 3. Sensoren. Stefan Rothe

Graphic Coding. Klausur. 9. Februar Kurs A

Java Einführung Programmcode

Installation und Inbetriebnahme von Microsoft Visual C Express

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Textgenerator Artex 1.0. Kurzanleitung

Java Kurs für Anfänger Einheit 5 Methoden

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

Vorkurs Informatik WiSe 15/16

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Visual Basic Express erstes Projekt anlegen

IDEP / KN8 für WINDOWS. Schnellstart

LEHRSTUHL FÜR DATENBANKEN

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Ihr CMS für die eigene Facebook Page - 1

Java: Vererbung. Teil 3: super()

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Übung - Arbeiten mit Android

Dokumentation für das Spiel Pong

1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.

Einführung in die Informatik Tools

ECDL Europäischer Computer Führerschein. Jan Götzelmann. 1. Ausgabe, Juni 2014 ISBN

GRUNDLEGENDES ZUM EINRICHTEN DES LAPTOP-ABGLEICHS

Version 0.3. Installation von MinGW und Eclipse CDT

1. Allgemein Speichern und Zwischenspeichern des Designs Auswahl der zu bearbeitenden Seite Text ergänzen Textgrösse ändern 3

LÖSUNGEN AUFGABEN: EXCEL XP (OHNE DATEIEN)

Programmierkurs Java

Anleitung zur Nutzung der OFML Daten von Cascando in pcon.planner

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Anleitung für das Online Update

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Update Oertli SalesProfi Programm und Datenstamm 2014

Inhaltsverzeichnis Seite

Software-Engineering Grundlagen des Software-Engineering

Visio Grundlagen. Linda York. 1. Ausgabe, Oktober 2013

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Projekt 04: Einstieg in Actionscript: Bestimmung von π mit Monte-Carlo-Methode

Word Aufbaukurs kompakt. Dr. Susanne Weber 1. Ausgabe, Oktober 2013 K-WW2013-AK

Route Ein Programm besteht aus mehreren Routen (Teilstrecken). Jede Route hat eigene Einstellungen für

Eclipse 3.0 (Windows)

Einführung zum Arbeiten mit Microsoft Visual C Express Edition

Einführung in Eclipse und Java

HTML Programmierung. Aufgaben

Objektorientierte Programmierung. Kapitel 12: Interfaces

Excel Funktionen durch eigene Funktionen erweitern.

Übungen zur Softwaretechnik

Tipps & Tricks ArCon. Schriftfeldmakro. Informationszeitschrift der DI KRAUS & CO GesmbH Seite 18

VB.net Programmierung und Beispielprogramm für GSV

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

ClubWebMan Veranstaltungskalender

GeoPilot (Android) die App

Innerhalb der Entwicklungsebene werden Makros in einem sog. zu einer Arbeitsmappe gehörenden Modul gespeichert.

Vision für Mac BENUTZERHANDBUCH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:

Stapelverarbeitung Teil 1

MAPS.ME. Benutzerhandbuch!

Tipps und Tricks zu Netop Vision und Vision Pro

Kennen, können, beherrschen lernen was gebraucht wird

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Java Einführung Packages

Kennen, können, beherrschen lernen was gebraucht wird

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Starten sie WordPad über das Startmenü von Windows. WordPad finden Sie im Ordner Zubehör.

Betriebssysteme Arbeiten mit dem Windows Explorer

Öffnen Sie über "Extra/Makro/Projekt Manager" den VBA Projekt Manager

Grundlagen von Python

Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

MicroStation V8i bietet eine VBA Schnittstelle, mit der der Programmieranfänger seine ersten Gehversuche machen kann.

Übung - Konfigurieren einer Windows-XP-Firewall

Robot Karol für Delphi

Das Programmfenster beim ersten Start:

Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg am Beispiel myethernet-projekt

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

Artikel Schnittstelle über CSV

1 Vorraussetzungen. 2 Installiere Eclipse. FS 2015 Herausgabe: Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich

Anleitung zur Erstellung einer Gefährdungsbeurteilung

Internet und WWW Übungen

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

my.ohm Content Services Autorenansicht Rechte

Übung - Datensicherung und Wiederherstellung in Windows 7

Websense Secure Messaging Benutzerhilfe

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Microsoft Visual Studio Community 2015

teischl.com Software Design & Services e.u. office@teischl.com

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Das Handbuch zu KAppTemplate. Anne-Marie Mahfouf Übersetzung: Burkhard Lück

Microsoft Outlook 2010 Handbuch

Webseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web

Programmierung von Konturzügen aus Geraden und Kreisbögen

TBooking: Integration der Online-Buchung auf der eigenen Homepage. Version 1.0. Bayern Reisen & Service GmbH Im Gewerbepark D Regensburg

Applications Applets (eingeschränkte Rechte)

Informationen zur Verwendung von Visual Studio und cmake

TELIS FINANZ Login App

Betriebshandbuch. MyInTouch Import Tool

Transkript:

Android-Geräte programmieren 1. Einstieg Stefan Rothe 2014 01 27

Rechtliche Hinweise Dieses Werk von Thomas Jampen und Stefan Rothe steht unter einer Creative Commons Attribution-Non- Commercial-ShareAlike-Lizenz. Zudem verzichten die Autoren auf sämtliche Urheberrechtsansprüche für die in diesem Werk enthaltenen Quelltexte.

Quellenangaben 1 Android Robot von Google, Quelle: Wikimedia Commons, Lizenz: Creative Commons Attribution Java Logo von Oracle, Quelle: Wikimedia Commons. Oracle und Java sind registrierte Handelsmarken von Oracle und/oder verbundenen Unternehmen. Jeda Logo von Daniel Cook (LostGarden.com), Quelle: Planet Cute art, Lizenz: Creative Commons Attribution von Lewing, Quelle: Wikimedia Commons, Lizenz: Creative Commons Attribution illustration dessin technique de la pâte à choux (couleur) von F. Cecconi, Quelle: Wikimedia Commons, Lizenz: Creative Commons Attribution-ShareAlike Jeda-Kochbuch von Stefan Rothe basierend auf dem Umschlag des ersten Crisco-Kochbuches von 1912, Quelle des Originals: Wikimedia Commons A library in Edinburgh von Boon Low, Quelle: Flickr, Lizenz: Creative Commons Attribution-NoDerivs William Shakespeare, Quelle: Wikimedia Commons

OXYcom OXY Quellenangaben 2 Dr. Seuss von Greg Williams, Quelle: Wikimedia Commons, Lizenz: Creative Commons Attribution-ShareAlike Oxygen Icons, Quelle: arch linux, Lizenz: GNU Lesser General Public Licence Oxygen Icons, Quelle: arch linux, Lizenz: GNU Lesser General Public Licence Oxygen Icons, Quelle: arch linux, Lizenz: GNU Lesser General Public Licence

Was ist Android? OXYcom OXY Apps Dalvik Linux Hardware

Ausführen einer App App Dalvik Linux OXY OXYcom F820 B800 DEX-Code c7 45 fc 03 Systemaufruf 0100110 Maschinencode Bibliotheken Bibliotheken

Erstellen einer App Java-Quellcode Bytecode App Kompilieren Kompilieren ark Java-Kompiler Dalvik-Kompiler

Android-Gerät vorbereiten 1 USB-Debugging beim Android-Gerät einschalten: Einstellungen Entwickleroptionen Einschalten Haken setzen bei USB-Debugging

Android-Gerät vorbereiten 2 Installation von Programmen zulassen: Einstellungen Sicherheit Haken setzen bei Unbekannte Herkunft

Methode / Method Rezept Titel / Name Folge von Anweisungen Parameter: Anzahl Personen Methode Name: drawcircle Anweisungen:... pâte à choux Parameter: x- und y-koordinate, Radius

Klasse / Class Kochbuch Titel / Name Sammlung von Rezepten zu einem bestimmten Thema Tabellen mit Masseinheiten Klasse Name: Math Methoden: sin, atan,... Konstanten: PI, E

Bibliothek / Library Bibliothek Sammlung von Kochbüchern Organisationsschema Bücher müssen ausgeliehen werden Bibliothek Sammlung von Klassen Name: ch.jeda Verwendung: import ch.jeda.*;

Java Java ist eine Programmiersprache Syntax: Korrekte Schreibweise und Aufbau von Wörtern und Sätzen Semantik: Bedeutung von grundlegenden Konstrukten.

Beliebtheit von Programmiersprachen Sprache Bewertung C 17.871% Java 16.499% Objective-C 11.098% C++ 7.548% C# 5.855% PHP 4.627% (Visual) Basic 2.989% Python 2.400% JavaScript 1.569% Transact-SQL 1.559% Weitere 220 27.985% Quelle: TIOBE Index, Januar 2014

Jeda Programmbibliothek für Java und Android Grafik und Animationen Interaktion und Sensoren Sound- und Musikausgabe Geeignet für Anfänger(innen) Integration in NetBeans IDE

Wieso Jeda? William Shakespeare Dr. Seuss I gin to be aweary of the sun, And wish th estate o the world were now undone. I know it is wet and the sun is not sunny, but we can have lots of good fun that is funny.

NetBeans IDE Entwicklungsumgebung (engl. Integrated Development Environment, IDE) Quelltext-Editor Projektverwaltung Programme kompilieren Programme ausführen Fehlersuche (engl. Debugging)

Programm-Vorlage package ch.jeda.project; import ch.jeda.*; import ch.jeda.ui.*; public class HelloWorld extends Program { Die Klasse befindet sich im Paket ch.jeda.project. Sie kann alle Klassen aus den Paketen ch.jeda und ch.jeda.ui verwenden. Die Klasse heisst HelloWorld. Die Klasse ist ein Jeda-Programm. } @Override public void run() { Befehle, die beim Start ausgeführt werden. // Write your code here. Kommentar für die Programmierenden (wird nicht beachtet). }

Klassen und Pakete Jede Klasse wird in einer eigenen Datei definiert. Die Datei muss gleich heissen wie die Klasse und die Endung.java haben. Die Klasse HelloWorld wird in der Datei HelloWorld.java definiert. Jede Klasse gehört zu einem Paket. Ein Paket entspricht einem Ordner. Die Dateien des Pakets ch.jeda.project müssen sich im Ordner ch/jeda/project befinden. Die Verwendung von Klassen aus anderen Paketen muss mit import explizit deklariert werden.

Fenster Erstellen 1 Mit der folgenden Anweisung wird ein neues Programmfenster erstellt: new Window(); Mit einer new-anweisung wird ein neues Objekt erstellt. Window ist die Klasse des zu erstellenden Objekts. Jede Anweisung wird mit einem Semikolon (;) beendet. Die Klammern () markieren die leere Argumentliste, welche dem neuen Objekt übergeben wird.

Formatierung Leerzeichen und Zeilenumbrüche sind nur relevant, wenn sie zwei Wörter trennen, Java ignoriert alle anderen. Beispielsweise sind folgende zwei Anweisungen identisch: new Window(); new Window( ) ; Leerzeichen und Zeilenumbrüche können verwendet werden, um der Quelltext leserlicher zu gestalten. NetBeans macht dies automatisch mit der Tastenkombination Shift + Alt + F.

Automatische Formatierung in NetBeans Unter Tools / Options / On Save Reformat: All Lines RemoveTrailing Whitespace From: All Lines

Übung 1 a. Starten Sie die NetBeans IDE. b. Erstellen Sie eine Jeda Application for Android. c. Erstellen Sie im Projekt eine Jeda Programm-Klasse. d. Ersetzen Sie im Quelltext den Kommentar // Write your code here. durch die Anweisung, welche ein neues Fenster erstellt. e. Starten Sie das Programm, indem Sie F6 drücken.

Variablen definieren Um auf ein Objekt zugreifen zu können, wird eine Variable benötigt. fenster Für jede Variable muss ein Datentyp deklariert werden. Window fenster; Deklariere Variable wnd des Typs Window. fenster = new Window(); Erstelle ein Objekt und weise es der Variable fenster zu. Variablendeklaration und Zuweisung können zusammengefasst werden: Window fenster = new Window();

Zeichnen Mit einem Methodenaufruf wird einem bestimmten Objekt ein Befehl gesendet. Dies geschieht, indem der betreffenden Variable (getrennt durch einen Punkt) der Methodenname angehängt wird. fenster Dem Befehl kann eine Liste von Argumenten mitgegeben werden. drawcircle(200, 100, 50) fenster.drawcircle(200, 100, 50); Sende dem Fenster-Objekt, auf welches fenster verweist, den Befehl, einen Kreis mit den angegebenen Argumenten zu zeichnen. Die Bedeutung der Argumente ist durch die aufgerufene Methode festgelegt.

Übung 2 Erweitern Sie Ihr Programm aus Übung 1 so, dass es einen Kreis zeichnet. Verändern Sie die Argumente von drawcircle. Was stellen Sie fest? package ch.jeda.project; import ch.jeda.*; import ch.jeda.ui.*; public class HelloWorld extends Program { } @Override public void run() Window fenster = new Window(); fenster.drawcircle(200, 100, 50); }

Koordinatensystem Koordinaten beziehen sich auf die Bildpunkte (Pixel) des Zeichenbereichs. Der Ursprung liegt in der oberen linken Ecke des Zeichenbereichs. Die x-achse zeigt nach rechts, die y-achse zeigt nach unten. Bei einer Fenstergrösse von w h Pixel reichen die Koordinaten von (0, 0) bis (w 1, h 1). (0, 0) (w 1, 0) y x (0, h 1) (w 1, h 1)

Jeda-Zeichenbefehle: Kreis fenster.drawcircle(x, y, r); fenster.fillcircle(x, y, r); Zeichnet einen Kreis mit Mittelpunkt (x, y) und Radius r. Hat keinen Effekt, wenn r 0. x y r Die Variante fillcircle zeichnet einen ausgefüllten Kreis.

Jeda-Zeichenbefehle: Rechteck fenster.drawrectangle(x, y, w, h); fenster.fillrectangle(x, y, w, h); y Zeichnet ein Rechteck, dessen linke obere Ecke in (x, y) liegt, und dessen rechte untere Ecke in (x + w, y + h) liegt. x w h Die Variante fillrectangle zeichnet ein ausgefülltes Rechteck.

Jeda-Zeichenbefehle: Linie fenster.drawline(x1, y1, x2, y2); Zeichnet die Strecke mit Endpunkten (x 1, y 1 ) und (x 2, y 2 ). x 1 y 1 y 2 Die Liniendicke kann vorgängig mit dem Befehl set- LineWidth festgelegt werden: x 2 fenster.setlinewidth(3);

Weitere Jeda-Zeichenbefehle Mit drawpolygon kann ein Polygon gezeichnet werden. Die Eckpunkte des Polygons werden paarweise angegeben: fenster.drawpolygon(x1, y1, x2, y2, x3, y3,...); fenster.fillpolygon(x1, y1, x2, y2, x3, y3, x4, y4,...); Mit fill wird die gesamte Zeichenfläche ausgefüllt: fenster.fill();

Jeda-Zeichenbefehle: Farbe festlegen Mit der Methode setcolor wird die aktuelle Zeichenfarbe festgelegt. fenster.setcolor(color.red); Folgende vordefinierte Farben können verwendet werden: Color.AQUA Color.GRAY Color.NAVY Color.SILVER Color.BLACK Color.GREEN Color.OLIVE Color.TEAL Color.BLUE Color.LIME Color.PURPLE Color.WHITE Color.FUCHSIA Color.MAROON Color.RED Color.YELLOW

Zeichnung der Bildschirmgrösse anpassen Programme, welche auf verschiedenen Geräten eingesetzt werden, müssen sich der jeweiligen Bildschirm- bzw. Fenstergrösse anpassen können. Fenstergrösse ermitteln: int w = fenster.getwidth(); int h = fenster.getheight(); Höhe des Fensters Breite des Fensters Sämtliche Längen und Breiten relativ zur Fenstergrösse rechnen: Zentriertes Rechteck mit 10 Pixel Abstand zum Rand fenster.drawrectangle(10, 10, w - 20, h - 20);