Ein Großteil der zurzeit verbreiteten Android- Phones läuft noch unter einer älteren Version und stellt somit die Error-Reporting-Funktion

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Ein Großteil der zurzeit verbreiteten Android- Phones läuft noch unter einer älteren Version und stellt somit die Error-Reporting-Funktion"

Transkript

1 Ein eigenes für Android implementieren Hurra, ein Fehlerreport! Fehler macht jeder. Wer schlau ist, lässt sich jeden Fehler sofort mit allen Daten servieren, die er für die Fehlerreproduktion benötigt. Dann kann er seine App schnell korrigieren. Tobias Knell Auf einen Blick Wo Computer sind, da treten Fehler auf. Die Gründe für Fehler können in den verschiedenen Konfigurationen und Ausstattungen der Android-Phones liegen oder in der hohen Komplexität der App. Wichtig ist, dass Sie als Entwickler über Fehler möglichst schnell und genau informiert werden. Zu diesem Zweck bauen Sie in diesem Artikel eine einfache, aber effektive -Funktion, die Sie in jede App integrieren können. Plattform Android Inhalte auf beiliegender CD enthalten Anzeige der Fehler im Market (Bild 2) Die Zahl der Android-Phones mit unterschiedlichen Konfigurationen und Ausstattungen steigt stetig. Sie als Entwickler werden kaum all diese Modelle besitzen können, um Ihre App auf jedem Gerät einzeln zu testen. Gerade in diesem Umfeld ist eine gute -Funktion wichtig. Seit Android 2.2 (in einigen Fällen auch seit 2.1) gibt es eine Funktion, die Abstürze von Apps meldet. Dem Benutzer wird beim Absturz der in Bild 1 dargestellte Dialog angezeigt. Wenn er sich dafür entscheidet, das Problem zu melden, kann er anschließend eine zusätzliche Nachricht eingeben, die den Fehler näher beschreibt. Als Entwickler bekommen Sie auf der Developer-Seite im Android Market an Ihren Apps angezeigt, wie viele neue Fehler jeweils berichtet wurden, siehe Bild 2. Sie erhalten folgende Informationen: die Nachricht des Benutzers, den Stacktrace (Bild 3) und die Version der App. Außerdem stellt Google Statistiken bereit, wie oft die Apps abstürzen oder einfrieren, sowohl als Gesamtzahl pro App als auch für die einzelnen Fehler. Das ist alles in allem eine nette Funktion, doch reicht dies bei komplexeren Apps wirklich aus? Und was ist mit Abstürzen bei Versionen unter 2.2? Ein Großteil der zurzeit verbreiteten Android- Phones läuft noch unter einer älteren Version und stellt somit die -Funktion Fehlerdialog in Android 2.2 (Bild 1) überhaupt nicht zur Verfügung. Daher bekommen Sie auch nur einen sehr geringen Teil der Meldungen zu Gesicht und können auf Fehler, die nur bei älteren Versionen auftreten, überhaupt nicht reagieren. Mit etwas Glück werden Ihnen diese Fehler über Kommentare im Market mitgeteilt, wahrscheinlich auch noch mit einer schlechten Bewertung als Anhang. Fazit: Eine eigene Implementierung muss her! Was sollte ein können? Da wären zunächst diejenigen Funktionen, die das native Reporting schon bereitstellt: Der Benutzer wird gefragt, ob er den Bericht senden will. Er kann einen Kommentar eingeben. Stacktrace, Name und Version der App werden gesendet. Die erweiterten Funktionen sollten umfassen: Smartphone-spezifische Informationen wie das Modell und die verwendete Android-Version sollten gesammelt werden. Für besonders kritische Stellen ist es denkbar, auch Werte bestimmter Variablen mitzusenden. Das Wichtigste jedoch ist, dass das unter allen Android-Versionen läuft, Listing 1: Fehler machen auf Befehl <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center"> <Button android:layout_width="100dp" android:layout_height="100dp" android:text="- CRASH ME -" android:textstyle="bold"/> 42 Mobile Developer Android 1/2011

2 ANDROID oder mindestens ab der Version 1.5, denn Version 1.1 wird kaum noch verwendet (0,1 Prozent Verbreitung). Gesendet wird der Report im JSON-Format per HTTP-POST an einen Server, dessen URL auch konfigurierbar sein soll. Das JSON-Format hält diese Informationen sehr kompakt. Crashtest Um Fehler melden zu können, benötigen Sie zunächst eine Codebasis, die Fehler erzeugt. Zu Demonstrationszwecken wird in diesem Artikel ein simples Android-Projekt namens CrashTest verwendet mit der dazugehörigen Activity CrashTestActivity. Zunächst geht es an das Layout in der main.xml. Dieses hat nur den Zweck, eine Funktion aufzurufen, deshalb reicht ein einfacher Button dafür aus, siehe Listing 1. Verzieren könnte man das Ganze noch mit einem Hintergrundbild für den Button, damit die App nicht so schlicht und leer aussieht, siehe Bild 4. Nun geht es an die Activity, die nichts weiter tun muss, als beim Druck auf den Button eine Exception zu erzeugen, siehe Listing 2. Damit wird der Fehler erzeugt. Nun muss er nur noch abgefangen werden. Das ist einfach: Legen Sie dafür eine neue Klasse an, zum Beispiel MyExceptionHandler. Diese Klasse wird ein Singleton und implementiert Thread.Uncaught- ExceptionHandler, siehe Listing 3. Den Context benötigen Sie, um den Dialog, der bei einer UncaughtException angezeigt werden soll, zu starten. Der URL bestimmt die Zieladresse, an die der Report geschickt wird, und die HashMap speichert die zu versendenden Daten. Als Nächstes kommt die Methode dran, die den ExceptionHandler in der App registriert, siehe Listing 4. Hier wird der Standard-Uncaught- ExceptionHandler durch einen eigenen ersetzt, der alle nicht behandelten Ausnahmen abfangen soll. Wer in bestimmten Fällen auf den Standard zurückgreifen will, sollte sich den DefaultUncaughtExceptionHandler vorher als Member zwischenspeichern. In der CrashTestActivity müssen Sie in der Methode oncreate()folgende Zeile hinzufügen: MyExceptionHandler.get- Instance().register(this, "www.irgendein-server.de/submiterror/"); Um die Exceptions abzufangen, überschreiben Sie die uncaughtexception-methode, in der Sie entscheiden können, was mit der Exception geschehen soll, siehe Listing 5. Bei einer abgefangenen Exception werden die nötigen Daten beschafft, ein Dialog wird gestartet und ihm werden die Daten übergeben. Die Methode put- ExtraValue benötigen Sie, um zum Beispiel Variablenwerte zum Senden hinzuzufügen. In Ihrer App können Sie sich die Instanz des Error- Handlers halten und dieser, wenn nötig, die Werte bestimmter Variablen übermitteln. In der HashMap werden bereits vorhandene Werte überschrieben, sodass immer die aktuellsten Daten übermittelt werden. Listing 2: Einen Fehler erzeugen public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); findviewbyid(r.id.crashbutton).setonclicklistener ); (new OnClickListener(){ public void onclick(view v) { new String().charAt(1); Listing 3: Den Fehler abfangen public class MyExceptionHandler implements Thread.UncaughtExceptionHandler { private static MyExceptionHandler instance; private Context context; private String url; private static Map<String, String> values = new HashMap<String, String>(); public static final String STACKTRACE = "stacktrace"; public static final String APPLICATION_NAME = "application_name"; public static final String APPLICATION_VERSION = "application_version"; public static final String ANDROID_VERSION="android_version"; public static final String MODEL = "model"; public static final String URL = "url"; public static final String KEYS = "keys"; public static final String VALUES = "values"; private MyExceptionHandler(){ public static MyExceptionHandler getinstance() {... if (instance == null) { instance = new MyExceptionHandler(); return instance; Listing 4: Den Handler registrieren public void register(context context, String url) { this.context = context; this.url = url; Thread.setDefaultUncaughtExceptionHandler(this); 1/

3 Listing 5: Eine Exception abfangen public void uncaughtexception(thread thread, Throwable ex) { //Den Stacktrace aus der Exception holen StringWriter stacktrace = new StringWriter(); ex.printstacktrace(new PrintWriter(stackTrace)); //Name und Version der App beschaffen PackageManager packagemanager = context.getpackagemanager(); String appname = ""; String version = ""; try { appname = String.valueOf(packageManager.getApplicationInfo (context.getpackagename(),0).loadlabel(packagemanager)); version = packagemanager.getpackageinfo (context.getpackagename(),0).versionname; catch (NameNotFoundException e){ e.printstacktrace(); Intent intent = new Intent(context, ErrorReportDialog.class); //Die zu versendenden Daten der Hashmap hinzufügen values.put(stacktrace, stacktrace.tostring()); values.put(application_name, appname); values.put(application_version, version); values.put(android_version, Build.VERSION.RELEASE); values.put(model, Build.MODEL); // Dem Dialog die benötigten Daten mitgeben intent.putextra(application_name, appname); intent.putextra(url, url); intent.putextra(keys, values.keyset().toarray (new String[values.size()])); intent.putextra(values, values.values().toarray (new String[values.size()])); //Den Dialog starten context.startactivity(intent); //Den Prozess der App beenden Process.killProcess(Process.myPid()); System.exit(10); public void putextravalue(string key, String value) { values.put(key, value); Autor Der Error-Report-Dialog ReportDialog benötigt. Beim Eintragen in die Datei manifest.xml wählen Sie, da es ja schließlich ein Dialog werden soll, das passende Theme dafür aus: <activity android:name = "ErrorReportDialog" android:theme= Der Dialog erklärt dem Benutzer mit einem Text die Situation und enthält außerdem ein Kommentarfeld und zwei Buttons. Mit dem ersten Button kann der Anwender den Error-Report versenden, mit dem zweiten Button kann er den Dialog beenden. Den Titel des Dialogs setzen Sie im Code, da er sich je nach App, in der das benutzt wird, ändert, siehe dazu Listing 6. Das Layout report_dialog.xml könnte ungefähr so aussehen wie in Bild 5 dargestellt. Den Text könnte man natürlich in die strings.xml auslagern, aber für das Beispiel ist das nebensächlich. Nun geht es an die Activity des Dialogs. Diese implementiert das Interface OnClickListener, da Sie für die simplen Funktionen der beiden definierten Buttons keine eigene Klasse benötigen, siehe Listing 7. Wenn der Benutzer den Cancel- Button anklickt, sollte die Activity beendet werden. Anderenfalls werden vor dem Beenden die Daten gesendet und es wird eventuell ein netter Toast angezeigt, um sich beim Benutzer zu bedanken, siehe Listing 8. Die reporterror-methode startet für das Senden einen neuen Thread, um den UI-Thread nicht zu blockieren, siehe Listing 9. Auf diese Weise kann der Benutzer sein Android-Phone sofort weiterbenutzen. Beachten Sie bei Threads, dass der Exception-Handler immer nur per Thread gesetzt wird. Denken Sie also bei jedem neuen Thread daran, den Handler zu registrieren! In diesem Fall würde es jedoch keinen Sinn machen, den Handler im neuen Thread zu registrieren, da sich der Handler bei einem Fehler nur wieder selbst aufrufen würde. Tobias Knell arbeitet als Softwareentwickler bei der Firma Synyx GmbH & Co. KG in Karlsruhe an Webanwendungen und Android-Apps. Der Dialog soll dem Benutzer mitteilen, was bei dem Programm schiefgelaufen ist. Gleichzeitig soll er ihm auch die Möglichkeit geben, den Entwickler von dem Absturz in Kenntnis zu setzen. Wenn der Benutzer darüber hinaus in einer Kommentarbox noch zusätzliche Angaben zum Fehler machen kann, so kann das die Reproduktion dieses Fehlers erleichtern. Wieder wird eine neue Activity Error- Der Stacktrace zum Fehler wird dem Entwickler angezeigt (Bild 3) Den Report versenden Der Dialog ist fertig, es fehlt nur noch die Klasse ErrorSender, die den Fehlerbericht an einen Server sendet. Für das Senden des Reports ist ein kleines, leichtes Format wie JSON hervorragend 44 Mobile Developer Android 1/2011

4 ANDROID Mit dem beschriebenen Ansatz ist es leider nicht möglich, die Fehlermeldung Application not responding (ANR) abzufangen, die auftritt, wenn eine Benutzerinteraktion länger als fünf Sekunden nicht bearbeitet werden Version, das Modell des Geräts und eigene Wer- wichtig sind, wie beispielsweise die Androidkonnte. In diesem Fall wird wie gewohnt der te, wie etwa die Inhalte von Variablen. Darüber Standard-Handler aufgerufen. Ein weiterer hinaus können Sie die Funktionen dieses An- Nachteil besteht darin, dass Sie die Serverseite selbst implementieren müssen und diese Listing 7: Die Activity des Error-Dialogs nicht schon, wie im Android public class ErrorReportDialog extends Activity implements OnClickListener { Market, hübsch aufbereitet zur private String url; Verfügung steht. private String[] keys; Ein Vorteil ist, dass Sie sämtliche Informationen übermit- private EditText reporttext; private String[] values; teln können, die für die Nachvollziehbarkeit von Fehlern geeignet. Die Daten können schnell in einen JSON-String umgewandelt werden und sind aufgrund des geringen Umfangs rasch verschickt, siehe Listing 10. An dieser Stelle soll darauf verzichtet werden, Fehler beim Versenden abzufangen und die Reports für einen erneuten Sendeversuch zu speichern. Wenn Sie diese Funktion selbst ergänzen, dann müssen Sie auf die Menge der gespeicherten Reports achten. Falls der Benutzer längere Zeit keine Verbindung zum Server aufbaut, können sich ziemlich schnell größere Pakete mit Reports ansammeln. Vor- und Nachteile dieses Ansatzes Die CrashTest-App mit Android- Maskottchen als Button (Bild 4) Listing 6: Die Oberfläche für den eigenen Fehlerdialog <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" android:gravity="center_horizontal"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="an unexpected error has occured and forced the app to close.\n Please help us to fix this error by reporting it." /> <EditText android:hint="optional comment" android:lines="2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margintop="20dp" android:imeoptions="actiondone" /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:layout_margintop="20dp"> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="cancel" android:layout_weight="1" android:layout_marginright="10dp"/> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="report" android:layout_weight="1"/> protected void oncreate(bundle savedinstancestate) {... super.oncreate(savedinstancestate); requestwindowfeature(window.feature_left_icon); setcontentview(r.layout.report_dialog); Intent intent = getintent(); url = intent.getstringextra(myexceptionhandler.url); keys = intent.getstringarrayextra(myexceptionhandler.keys); values = intent.getstringarrayextra(myexceptionhandler.values); settitle(intent.getstringextra(myexceptionhandler.application_name) setfeaturedrawableresource + " has crashed"); (Window.FEATURE_LEFT_ICON,android.R.drawable.ic_dialog_alert); findviewbyid(r.id.cancelbutton).setonclicklistener(this); findviewbyid(r.id.reportbutton).setonclicklistener(this); reporttext = (EditText) findviewbyid(r.id.comment); 1/

5 Listing 8: Ein Toast auf den geduldigen Anwender! public void onclick(view v) { if (v.getid() == R.id.reportButton){ reporterror(); Toast.makeText(this.getApplicationContext(), "Thank you for supporting us!", Toast.LENGTH_SHORT).show(); finish(); Listing 9: Daten für den Error-Report zusammenstellen private void reporterror() { new Thread() { public void run() { //In neuen Threads den Handler erneut registrieren //MyExceptionHandler.getInstance().register (ErrorReportDialog.this,"www.Irgend-Ein-Server.de/ submiterror/"); //Den Benutzer-Kommentar aus dem EditText holen String comment = reporttext.gettext().tostring(); //Und letztendlich den Fehler abschicken ErrorSender.sendError(url, comment, keys, values);.start(); Listing 10: Den Fehlerbericht versenden public class ErrorSender { public static void senderror(string url, String comment, String[] keys, String[] values) { try { //Den JSON-String aus den Daten erstellen JSONObject jsonobj = new JSONObject(); for (int i = 0; i < keys.length; i++) { jsonobj.put(keys[i], values[i]); //Nur ausgefüllte Kommentar hinzufügen if (!comment.equals("")) { jsonobj.put("comment",comment); send(url, jsonobj.tostring()); catch (Exception ex) { ex.printstacktrace(); private static void send(string url, String jsonstring) throws Exception { StringEntity entity; entity = new StringEntity(jsonString); HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost(url); post.setentity(entity); client.execute(post); Der selbst gebaute Fehlerdialog (Bild 5) satzes je nach Bedarf anpassen. Dazu zählen verschiedene Anzeigemöglichkeiten bei Abstürzen oder alternative Arten, den Report zu senden. Der vielleicht größte Vorteil des hier vorgestellten Ansatzes besteht jedoch in der hohen Durchdringung. Er unterstützt nämlich anders als bei der nativen Lösung auch Apps, die nicht aus dem Android Market heruntergeladen wurden. Und nicht zuletzt funktioniert diese Lösung für alle Android-Versionen ab 1.5. Andere Lösungen Natürlich gibt es auch schon andere Ansätze, die ein eigenes bereitstellen. Bekannt ist ACRA [1], eine - Bibliothek mit zahlreichen Funktionen. Ihr fehlt allerdings momentan ein direkt angezeigter Fehlerdialog. Das Feedback für den Benutzer wird lediglich über eine Notification realisiert, die den Dialog aufruft. Eine weitere Lösung ist Flurry Analytics [2], eine mächtige Analysebibliothek, mit der man die Möglichkeit hat, alle erdenklichen Informationen über das Benutzerverhalten, aber auch Fehlermeldungen zu sammeln. Sie ist zurzeit kostenlos, kostenpflichtige Leistungen sollen aber folgen. Fazit Der in diesem Artikel vorgestellte Ansatz deckt sicherlich nicht alle Anforderungen an ein ab, er bietet aber die wichtigsten Funktionalitäten in schlanker Form. Der Quelltext der Lösung ist unter der Apache-2.0-Lizenz auf der Heft-CD vorhanden und kann beliebig erweitert werden. [ml] [1] ACRA; [2] Flurry Analytics; 46 Mobile Developer Android 1/2011

Naviki GPS-Anwendungsentwicklung für Mobiltelefone www.naviki.org

Naviki 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

Mehr

Accounts und Kontakte in Android

Accounts 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

Mehr

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

Einfü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

Mehr

Android GUI Entwicklung

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

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

Tutorial. Programmierung einer Android-Applikation. Teil 1

Tutorial. 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

Mehr

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

Google 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

Mehr

14.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 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...

Mehr

Übungen zur Android Entwicklung

Ü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

Mehr

JOGGA Der Jogging-Companion

JOGGA 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

Mehr

Android 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 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,

Mehr

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

Aus einem (sehr) begrenzten Wertebereich (z.b. Zahlen von 1-5) soll ein Wert ausgewählt werden. Lösungsvorschlag: 1. Aufgabe (18 Punkte): Auswahl Aus einem (sehr) begrenzten Wertebereich (z.b. Zahlen von 1-5) soll ein Wert ausgewählt werden. a) Nennen Sie drei unterschiedliche Arten, diese Interaktion

Mehr

ab Redirector-Version 2.14

ab Redirector-Version 2.14 Installation: FilterSurf ab Redirector-Version 2.14 Hier werden nun die Schritte erläutert, die nacheinander zu durchlaufen sind, um einen der zentralen FilterSurf -Server verwenden zu können. Die Installationsschritte

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit List & Label 16 List & Label Windows Azure List & Label Windows Azure - 2 - Inhalt Softwarevoraussetzungen 3 Schritt 1: Neues Projekt

Mehr

Das Handbuch zu Blogilo. Mehrdad Momeny Übersetzung: Burkhard Lück

Das Handbuch zu Blogilo. Mehrdad Momeny Übersetzung: Burkhard Lück Mehrdad Momeny Übersetzung: Burkhard Lück 2 Inhaltsverzeichnis 1 Einführung 5 2 Blogilo benutzen 6 2.1 Erste Schritte......................................... 6 2.2 Einen Blog einrichten....................................

Mehr

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

Mehr

E-Mail Verschlüsselung mit Thunderbird

E-Mail Verschlüsselung mit Thunderbird Die Verschlüsselung mit GNUPG funktioniert nur mit Windows XP/Vista 32Bit und natürlich mit Linux! EMails sind wie Postkarten die jeder lesen kann Wir gehen viel zu leichtsinnig um mit unserer Post im

Mehr

WCF Services in InfoPath 2010 nutzen

WCF Services in InfoPath 2010 nutzen WCF Services in InfoPath 2010 nutzen Abstract Gerade wenn man schreibend von InfoPath aus auf eine SQL-Server Datenbank zugreifen will, kommt man quasi um einen Web Service nicht herum. In diesem Post

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

EBW Systems HANDBUCH Offline Programm

EBW Systems HANDBUCH Offline Programm EBW Systems HANDBUCH Offline Programm Seite 1 von 7 Inhaltsverzeichnis 1. Programmsteuerung 2. Veranstaltungen verwalten 3. Daten absenden 4. Sonstige Hinweise Seite 2 von 7 1. Programmsteuerung Programm

Mehr

Cocktail-Rezepte-APP

Cocktail-Rezepte-APP Application Name: Cocktails Company Domain: gsog.de Empty Activity Main Activity: FindCocktailActivity Layout: activity_find_cocktail Was ist neu??

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf 16 Exceptions Zur Behandlung unerwarteter Situationen bietet Java Unterstützung in Form von Exceptions oder Ausnahmen. Den Sinn von Exceptions können wir Ihnen an einem kleinen Beispiel klarmachen. Nehmen

Mehr

Anzeige des Java Error Stack in Oracle Forms

Anzeige des Java Error Stack in Oracle Forms Anzeige des Java Error Stack in Oracle Forms (Version 2.0) Juni 2008 Autoren: Jürgen Menge / Thomas Robert Seite 1 von 7 Oracle Forms bietet seit der Version 6i die Möglichkeit, serverseitig Java-Klassen

Mehr

Kurzanleitung GigaMove

Kurzanleitung GigaMove Kurzanleitung GigaMove Dezember 2014 Inhalt Kurzerklärung... 1 Erstellen eines neuen Benutzerkontos... 2 Login... 5 Datei bereitstellen... 6 Bereitgestellte Datei herunterladen... 6 Datei anfordern...

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

9.2 Weitergeben. 9.2.1 Online-Album. 9.2 Weitergeben. Flash-Player

9.2 Weitergeben. 9.2.1 Online-Album. 9.2 Weitergeben. Flash-Player 9.2 Weitergeben Das Weitergeben und das Erstellen unterscheiden sich eigentlich nur wenig. Beim Erstellen liegt das Augenmerk mehr auf dem Ausdrucken, bei der Weitergabe handelt es sich eher um die elektronische

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

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

4. 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

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1): Supportanfrage ESN Bitte füllen Sie zu jeder Supportanfrage diese Vorlage aus. Sie helfen uns damit, Ihre Anfrage kompetent und schnell beantworten zu können. Verwenden Sie für jedes einzelne Thema jeweils

Mehr

Entwickeln für Android OS

Entwickeln 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

Mehr

Das *z13-file Handling V1.0d

Das *z13-file Handling V1.0d Das *z13-file Das *z13-file ist eine Dateierweiterung des Systems EPLAN. Im Normalfall wird bei einer Installation der Software EPLAN diese Erweiterung im System registriert. Sollte das nicht der Fall

Mehr

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München Time CGI Version 1.5 Stand 04.12.2013 TimeMachine Dokument: time.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor Version Datum Kommentar

Mehr

Gmail in Thunderbird mit IMAP einrichten

Gmail in Thunderbird mit IMAP einrichten Gmail in mit IMAP einrichten Der E-Mail-Dienst Gmail (Google Mail) erfreut sich bei vielen Anwendern großer Beliebtheit, doch nicht alle greifen auf Ihre E-Mails ausschließlich über die Web-Oberfläche

Mehr

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

Android-Geräte Programmieren 4. Hinweise zur Android-Programmierung. Stefan Rothe Android-Geräte Programmieren 4. Hinweise zur Android-Programmierung Stefan Rothe 2014 01 29 Rechtliche Hinweise Dieses Werk von Thomas Jampen und Stefan Rothe steht unter einer Creative Commons Attribution-Non-

Mehr

FritzCall.CoCPit Schnelleinrichtung

FritzCall.CoCPit Schnelleinrichtung FritzCall.CoCPit Schnelleinrichtung Willkommen bei der Ersteinrichtung von FritzCall.CoCPit Damit Sie unseren FritzCall-Dienst nutzen können, müssen Sie sich die aktuelle Version unserer FritzCall.CoCPit-App

Mehr

am Beispiel von JUnit

am Beispiel von JUnit Aufbau eines Testwerkzeugs am Beispiel von JUnit Üblicher Ansatz für Tests und Fehlersuche: Print-Befehle, Debugger-Ausdrücke, Test-Skripte möglichst über globale Variable debug steuerbar Command Pattern

Mehr

Serienbrief erstellen

Serienbrief erstellen Serienbrief erstellen Mit einem perfekt vorbereiteten Serienbrief können Sie viel Zeit sparen. In unserem Beispiel lesen wir die Daten für unseren Serienbrief aus einer Excel Tabelle aus. Die Tabelle hat

Mehr

Anleitung - Mass E-Mailer 2.6. 2003 by Patrick Biegel 25.06.2005

Anleitung - Mass E-Mailer 2.6. 2003 by Patrick Biegel 25.06.2005 Anleitung - Mass E-Mailer 2.6 2003 by Patrick Biegel 25.06.2005 Inhalt Einleitung...3 Neu in der Version 2.6...3 Installation...4 Links...4 E-Mail Form...5 Send E-Mails...7 Edit List...8 Save List...9

Mehr

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Aufgabe 1 Bitte schreiben Sie ein RMI Objekt, das eine Person repräsentiert. Es soll die folgende Schnittstelle implementieren: public interface Person

Mehr

Kompilieren und Linken

Kompilieren und Linken Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang

Mehr

Mobile Systeme Android 07.04.2011

Mobile 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

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte 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/

Mehr

Microsoft.NET & IBM System i - Webanwendungen und Webservices II Christian Neißl, 20.11.2011

Microsoft.NET & IBM System i - Webanwendungen und Webservices II Christian Neißl, 20.11.2011 Microsoft.NET & IBM System i - Webanwendungen und Webservices II Christian Neißl, 20.11.2011 Der älteste und noch immer verwendete Weg Daten über Web auszutauschen ist das http - Protokoll. Mit der http-methode

Mehr

Einrichten der Outlook-Synchronisation

Einrichten der Outlook-Synchronisation Das will ich auch wissen! - Kapitel 3 Einrichten der Outlook-Synchronisation Inhaltsverzeichnis Überblick über dieses Dokument... 2 Diese Kenntnisse möchten wir Ihnen vermitteln... 2 Diese Kenntnisse empfehlen

Mehr

Secure Mail. Leitfaden für Kunden & Partner der Libera AG. Zürich, 11. November 2013

Secure Mail. Leitfaden für Kunden & Partner der Libera AG. Zürich, 11. November 2013 Secure Mail Leitfaden für Kunden & Partner der Libera AG Zürich, 11. November 2013 Aeschengraben 10 Postfach CH-4010 Basel Telefon +41 61 205 74 00 Telefax +41 61 205 74 99 Stockerstrasse 34 Postfach CH-8022

Mehr

Anleitung directcms 5.0 Newsletter

Anleitung directcms 5.0 Newsletter Anleitung directcms 5.0 Newsletter Jürgen Eckert Domplatz 3 96049 Bamberg Tel (09 51) 5 02-2 75 Fax (09 51) 5 02-2 71 - Mobil (01 79) 3 22 09 33 E-Mail eckert@erzbistum-bamberg.de Im Internet http://www.erzbistum-bamberg.de

Mehr

Einstieg in die Mac-Welt mit OS X Lion. Grundkurs kompakt. Andreas Konitzer 1. Ausgabe, 1. Aktualisierung, Juli 2012 K-MAC1-G

Einstieg in die Mac-Welt mit OS X Lion. Grundkurs kompakt. Andreas Konitzer 1. Ausgabe, 1. Aktualisierung, Juli 2012 K-MAC1-G Einstieg in die Mac-Welt mit OS X Lion Andreas Konitzer. Ausgabe,. Aktualisierung, Juli 0 Grundkurs kompakt K-MAC-G 4 Datenträger und Festplatten 4. Dateien auf CD und DVD brennen Das Betriebssystem kann

Mehr

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM

SEMINARVORTRAG 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

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Byte-Taxi. Bedienungsanleitung. Autor: Dimitrios Savvidis

Byte-Taxi. Bedienungsanleitung. Autor: Dimitrios Savvidis Byte-Taxi Bedienungsanleitung Autor: Dimitrios Savvidis Inhaltsverzeichnis 1. Beschreibung 1 2. Systemvoraussetzungen 2 3. Installationsanleitung 3 4. Bedienung 5 5. Infos & Kontakt 8 1. Beschreibung Byte-Taxi

Mehr

Nach der Installation kann es auch schon losgehen. Für unseren Port Scanner erstellen wir zunächst ein neues Projekt:

Nach der Installation kann es auch schon losgehen. Für unseren Port Scanner erstellen wir zunächst ein neues Projekt: Ein Port Scanner ist eine gute Möglichkeit den eigenen Server auf offene Ports zu scannen. Zu viele nicht benötigte und offene Ports können auf Ihrem Server und auf Ihrem Computer ein Sicherheitsrisiko

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

GUI-Programmierung. (5) Das Spielfeld

GUI-Programmierung. (5) Das Spielfeld Mit erreichen von Arbeitsblatt 5 habt ihr es bereits geschafft euer Spiel zu starten. Das ist schon einmal super. Allerdings kann noch nicht viel gespielt werden. Das sollt ihr jetzt ändern. Arbeitsblatt

Mehr

Der lokale und verteilte Fall

Der lokale und verteilte Fall Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf

Mehr

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

Mehr

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Das Programm Mensch ärgere Dich nicht ermöglicht das Spielen des gleichnamigen Spieles über Netzwerke. Jeder Spieler verfügt dabei über einen Clienten,

Mehr

Luftballons. Einführung. Scratch. Wir wollen ein Spiel machen, bei dem man Luftballons platzen lässt! Activity Checklist.

Luftballons. Einführung. Scratch. Wir wollen ein Spiel machen, bei dem man Luftballons platzen lässt! Activity Checklist. Scratch 1 Luftballons All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Einführung

Mehr

PHP Einsteiger Tutorial Kapitel 4: Ein Email Kontaktformular in PHP Version 1.0 letzte Änderung: 2005-02-03

PHP Einsteiger Tutorial Kapitel 4: Ein Email Kontaktformular in PHP Version 1.0 letzte Änderung: 2005-02-03 PHP Einsteiger Tutorial Kapitel 4: Ein Email Kontaktformular in PHP Version 1.0 letzte Änderung: 2005-02-03 Bei dem vierten Teil geht es um etwas praktisches: ein Emailformular, dass man auf der eigenen

Mehr

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

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Im folgenden wird die Outlookanbindung an organice/pi beschrieben.

Im folgenden wird die Outlookanbindung an organice/pi beschrieben. Einleitung Einleitung Im folgenden wird die Outlookanbindung an organice/pi beschrieben. Wir unterscheiden dabei Termine und Kontakte. Über das Outlookmenü werden zusätzliche Aktivitäten gesteuert. "Normale"

Mehr

Dynamische Webseiten mit PHP 1

Dynamische Webseiten mit PHP 1 Dynamische Webseiten mit PHP 1 Webserver, PHP und MYSQL Ein Webserver dient dazu, Internetseiten an PCs zu senden, von denen sie aufgerufen werden. Beispiel: Sie tippen im Browser www.fosbosweiden.de ein.

Mehr

.NET Code schützen. Projekt.NET. Version 1.0

.NET Code schützen. Projekt.NET. Version 1.0 .NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll

Mehr

Log xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade

Log xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade HACK #76 Hack APIs mit dem Façade-Muster vereinfachen Durch die Verwendung des Façade-Entwurfsmusters können Sie die anderen Programmierern zugängliche API vereinfachen. #76 Dies ist ein Muster, von dem

Mehr

Um in das Administrationsmenü zu gelangen ruft Ihr Eure Seite auf mit dem Zusatz?mod=admin :

Um in das Administrationsmenü zu gelangen ruft Ihr Eure Seite auf mit dem Zusatz?mod=admin : WebsoziCMS 2.8.9 Kurzanleitung Stand: 10.04.2008 Andreas Kesting Diese Kurzanleitung zum WebsoziCMS 2.8.9 beschränkt beschränkt sich auf die häufigsten Tätigkeiten beim Administrieren Eurer Homepage: -

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Android Theading Android Kurs Stufe 2 (Orangegurt)

Android 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

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

So richten Sie Outlook Express ein. Einrichten von Outlook Express (hier am Beispiel von Outlook Express 6) für den Empfang meiner E-Mails

So richten Sie Outlook Express ein. Einrichten von Outlook Express (hier am Beispiel von Outlook Express 6) für den Empfang meiner E-Mails Artikel-ID Produktkategorien Datum: 545 PowerWeb Pakete Premium Pakete WebVisitenkarte A / C / M 25.11.2004 So richten Sie Outlook Express ein Einrichten von Outlook Express (hier am Beispiel von Outlook

Mehr

2A Basistechniken: Weitere Aufgaben

2A Basistechniken: Weitere Aufgaben 2A Basistechniken: Weitere Aufgaben 2A.3 Programmierung unter UNIX/Linux 1. Gegeben sind einige Ausschnitte von C-Programmen, die unter UNIX/Linux ausgeführt werden sollen. Beantworten Sie die zugehörigen

Mehr

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten 1. Einschränkung für Mac-User ohne Office 365 Mac-User ohne Office 365 müssen die Dateien herunterladen; sie können die Dateien nicht direkt öffnen und bearbeiten. Wenn die Datei heruntergeladen wurde,

Mehr

Ebenfalls gibt es neben dieser Schritt-für-Schritt Anleitung noch ein Video, welches das Einrichten einer Shared Mailbox zeigt.

Ebenfalls gibt es neben dieser Schritt-für-Schritt Anleitung noch ein Video, welches das Einrichten einer Shared Mailbox zeigt. SHARED MAILBOX IN OFFICE 365 ERSTELLEN Eine Shared Mailbox dient dazu, dass mehrere Mitarbeiter auf ein gemeinsames Postfach (z.b. Support) zugreifen und in dessen Namen E-Mails versenden können. Diese

Mehr

ROFIN App Benutzerhandbuch. Version 1.0

ROFIN App Benutzerhandbuch. Version 1.0 ROFIN App Benutzerhandbuch Version 1.0 Inhaltsverzeichnis 1. Beschreibung 2. Passwort und Einstellungen 3. Support Tab 4. Vertriebs Tab 5. Web Tab 6. Häufig gestellte Fragen BESCHREIBUNG Die ROFIN App

Mehr

Android. 2 24.09.2013 Mobile Systeme - Android

Android. 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

Mehr

License Management 1.0 - SDK

License Management 1.0 - SDK License Management 1.0 - SDK Inhalt Allgemeine Beschreibung... 2 Vorbereitungen... 2 Download aller nötigen Dateien und Dokumentationen... 2 Beantragung eines ValidationKeys... 2 Beantantragung einer Development-Lizenz...

Mehr

Bibliographix installieren

Bibliographix installieren Bibliographix installieren Version 10.8.3 Inhalt Inhalt... 1 Systemvoraussetzungen... 1 Download... 2 Installation der Software... 2 Installation unter Windows... 2 Installation unter Mac OS X... 3 Installation

Mehr

SelfLinux-0.12.3. xcdroast. Autor: Johnny Graber (linux@jgraber.ch) Formatierung: Johnny Graber (linux@jgraber.ch) Lizenz: GFDL

SelfLinux-0.12.3. xcdroast. Autor: Johnny Graber (linux@jgraber.ch) Formatierung: Johnny Graber (linux@jgraber.ch) Lizenz: GFDL xcdroast Autor: Johnny Graber (linux@jgraber.ch) Formatierung: Johnny Graber (linux@jgraber.ch) Lizenz: GFDL Ein weit verbreitetes Frontend für cdrecord ist xcdroast. Dieser Text soll einem ermöglichen,

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Ogre Einführung Teil 1

Ogre Einführung Teil 1 Inhalt -Einleitung -Installieren und Einrichten von Ogre -Die erste Anwendung Ogre Einführung Teil 1 Einleitung Eine 3D Engine ist eine sehr komplexe Software und besteht aus mehreren tausend Zeilen Programmcode.

Mehr

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer. Benutzerhandbuch Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer. 1 Startseite Wenn Sie die Anwendung starten, können Sie zwischen zwei Möglichkeiten wählen 1) Sie können eine Datei für

Mehr

Online Newsletter III

Online Newsletter III Online Newsletter III Hallo zusammen! Aus aktuellem Anlass wurde ein neuer Newsletter fällig. Die wichtigste Neuerung betrifft unseren Webshop mit dem Namen ehbshop! Am Montag 17.10.11 wurde die Testphase

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Bedienungsanleitung für das IT Center Webhosting

Bedienungsanleitung für das IT Center Webhosting Bedienungsanleitung für das IT Center Webhosting 1) Allgemeines... 2 2) Anlegen von E-Mail Adressen... 2 3) Einrichten der E-Mail Konten in Outlook Express und Mozilla Thunderbird... 5 a) Outlook Express

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

E Mail Versand mit der Schild NRW Formularverwaltung

E Mail Versand mit der Schild NRW Formularverwaltung -Seite 1- E Mail Versand mit der Schild NRW Formularverwaltung Seit der Version 1.12.3.97 der Reportverwaltung ist die Möglichkeit integriert, E Mails direkt, d.h. ohne Umweg über einen externen Mailclient

Mehr

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

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Tevalo Handbuch v 1.1 vom 10.11.2011

Tevalo Handbuch v 1.1 vom 10.11.2011 Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche

Mehr

Merkblatt: Sichere E-Mail-Kommunikation zur datenschutz cert GmbH

Merkblatt: Sichere E-Mail-Kommunikation zur datenschutz cert GmbH Version 1.3 März 2014 Merkblatt: Sichere E-Mail-Kommunikation zur datenschutz cert GmbH 1. Relevanz der Verschlüsselung E-Mails lassen sich mit geringen Kenntnissen auf dem Weg durch die elektronischen

Mehr

Alltagsnotizen eines Softwareentwicklers

Alltagsnotizen eines Softwareentwicklers Alltagsnotizen eines Softwareentwicklers Entkoppeln von Objekten durch Callbacks mit c++-interfaces oder boost.function und boost.bind Tags: c++, entkoppeln, objekt, oop, callback, boost.bind, boost.function,

Mehr

Microsoft Visual Studio Community 2015

Microsoft Visual Studio Community 2015 Microsoft Visual Studio Community 2015 Visual Studio Community 2015 ist eine kostenlose IDE mit leistungsfähigen Programmier- und Entwicklungswerkzeugen für Windows, ios und Android. Sie ist für einzelne

Mehr

Kurzanleitung. Logstar_FTP. Version 1.1

Kurzanleitung. Logstar_FTP. Version 1.1 Kurzanleitung Logstar_FTP Version 1.1 Februar 2006 UP GmbH Anleitung_Logstar_FTP_1_24.doc Seite 1 von 8 LOGSTAR _FTP Inhaltsverzeichnis Einleitung...3 Registrierung...3 Das Logstar_FTP Hauptmenu...4 Server...4

Mehr

SSH Authentifizierung über Public Key

SSH Authentifizierung über Public Key SSH Authentifizierung über Public Key Diese Dokumentation beschreibt die Vorgehensweise, wie man den Zugang zu einem SSH Server mit der Authentifizierung über öffentliche Schlüssel realisiert. Wer einen

Mehr

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau

Mehr

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Zweck dieser Anleitung ist es einen kleinen Überblick über die Funktion Last Minute auf Swisshotelportal zu erhalten. Für das erstellen

Mehr

Wetter-Tickers (Laufband)

Wetter-Tickers (Laufband) Diese Seite richtet sich an alle Benutzer der Wetterauswertesoftware WSWIN (http://www.pc-wetterstation.de) von Werner Krenn, besonders aber an Neueinsteiger. Auf den folgenden Seiten soll nicht die Arbeit

Mehr

Installation von Updates

Installation von Updates Installation von Updates In unregelmässigen Abständen erscheinen Aktualisierungen zu WinCard Pro, entweder weil kleinere Verbesserungen realisiert bzw. Fehler der bestehenden Version behoben wurden (neues

Mehr