Anforderung. View Button. <LinearLayout android:layout_width="match_parent" Layout. <TextView.../> android:orientation="vertical"> LinearLayout

Größe: px
Ab Seite anzeigen:

Download "Anforderung. View Button. <LinearLayout android:layout_width="match_parent" Layout. <TextView.../> android:orientation="vertical"> LinearLayout"

Transkript

1 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 UI-Struktur ist Baum aus View/ViewGroup-Komponenten Widget: Fertige UI-Komponente (View) wie Button, TextView, Layout: Container, Anordnung (ViewGroup) wie LinearLayout, View TextView ViewGroup View Button ViewGroup View Button Prof. Dr. Peter Barth, Mobile Computing 1 Beispiel ToggleApp Anforderung Grüße in vielen Sprachen Beenden Interaktionselemente Titel Zwei Buttons Beenden Durchschalten durch Gruß-Sprachen Eine Grußanzeige Layout (zunächst) 3 Zeilen Oben Titel, unten Display des Grußes In der Mitte ausgefüllte Buttonleiste Prof. Dr. Peter Barth, Mobile Computing 2 Layouts Deklarativ Layout LinearLayout <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" <LinearLayout android:layout_width="match_parent" XML-Beschreibung android:orientation="vertical" > android:layout_height="match_parent" Layout <TextView android:orientation="vertical"> für UI-Komponenten <TextView android:layout_width="match_parent" <LinearLayout Container für Komponenten android:orientation="horizontal" > Mischen Layouts, Widgets android:text="@string/msg_toggle_app" Anordnung, meist relativ Layouts sind ViewGroups, android:gravity="center" </LinearLayout> <LinearLayout android:layout_width="match_parent" LinearLayout <TextView XML-Kontainer android:orientation="horizontal" > </LinearLayout> Einfachstes Layout Attribute zur Konfiguration android:layout_width="wrap_content" Horizontal von links Layout nach rechts auffüllend android:text="@string/msg_btn_finish" LinearLayout android:onclick="onclickfinish" Vertikal von oben nach horizontal, vertikal android:id="@+id/btn_toggle" unten auffüllend android:layout_width="wrap_content" verschachtelt Weitere Attribute notwendig/möglich Widgets android:text="@string/msg_btn_toggle" Verschachtelung </LinearLayout> Button <TextView android:id="@+id/tv_display" android:layout_width="match_parent" TextView android:gravity="center" Prof. Dr. Peter Barth, Mobile Computing </LinearLayout> res/layout/toggle.xml 3 Prof. Dr. Peter Barth, Mobile Computing 4

2 Widgets ID, Ressourcen IDs Android assoziiert Integer-Zahlen als IDs mit Ressourcen Meist für Widgets Automatische Generierung der Zahlen, Nutzen der Konstanten android:id Assoziiert eine ID mit dem Widget, wichtig zur Referenzierung aus dem Definiert eine neue ID btn_toggle für das Ressource +: Definiere android:layout_width="wrap_content" Ressourcen In separten Dateien, In Code ID nach Ressource einfach Ressourcen-IDs von android erzeugt und verwaltet (R.java) Prof. Dr. Peter Barth, Mobile Computing 5 Widgets Breite, Höhe, Gewicht Breite, Höhe Braucht jede View/ViewGroup android:layout_width, android:layout_height wrap_content Nur so viel Platz wie notwendig match_parent (früher fill_parent) So auffüllen, dass Vater vollständig ausgefüllt wird Gewicht Verteilung beim Auffüllen 0: Nicht berücksichtigen!= 0: Proportionale Verteilung android:id="@+id/btn_toggle" android:layout_width="wrap_content" android:text="@string/msg_btn_toggle" Gewicht ist nur sinnvoll, wenn umfassende ViewGroup (z.b. LinearLayout) match_parent hat wenn Widget selbst wrap_content hat Prof. Dr. Peter Barth, Mobile Computing 6 Widgets Beispiel Breite Höhe, Gewicht Preview in IDE Ab und zu richtig Beispiele LinearLayout je Zeile layout_height wrap_content layout_width match_parent Außer beim letzten (5.) Unterschiedliche layout_weights Probieren. IDE Design Tooling, bitte nur zum anschauen, erstellen mit Text Prof. Dr. Peter Barth, Mobile Computing 7 Text-Ressourcen Konstanten in Quellen vermeiden Ressource-Dateien Beispiel Text-Ressourcen, Schlüssel-Wert/Kombinationen Verwendung In XML-Ressourcen wie <name> ist Schlüssel Definition Ordner res/values Datei strings.xml Einträge in <ressources> Typ <string> android:id="@+id/btn_toggle" android:layout_width="wrap_content" android:text="@string/msg_btn_toggle" <resources> <string name="app_name">toggle</string> <string name="msg_btn_finish">ende</string> <string name="msg_btn_toggle">toggle</string> <string name="msg_toggle_app">toggleapp</string> </resources> res/values/strings.xml Prof. Dr. Peter Barth, Mobile Computing 8

3 ToggleActivity Spezifische Imports (IDE) Wird ab jetzt weggelassen TAG: Konvention zum Loggen Member Views aus Layout Namenskonvention Beginnt mit m (Android Doku, mache ich nicht, in IDE ersichtlich) Typabkürzung am Anfang, Diskriminator, optional package de.medieninf.mobcomp.toggle; // alles in Paketen import android.app.activity; import android.os.bundle; import android.util.log; import android.widget.button; import android.widget.textview; public class ToggleActivity extends Activity { final static String TAG = ToggleActivity.class.getSimpleName(); private TextView tvdisplay; private Button btntoggle; oncreate Log.v(TAG, "oncreate"); setcontentview(r.layout.toggle); super, muss gerufen werden tvdisplay = (TextView) findviewbyid(r.id.tv_display); Layout setzen btntoggle = (Button) findviewbyid(r.id.btn_toggle); findviewbyid für wichtige Views Casten notwendig (View) Prof. Dr. Peter Barth, Mobile Computing 9 ToggleActivity Verhalten Daten greetings: Anzuzeigende Strings current: Welches wird gezeigt Verhalten OnClickListener Einer je Button (im Beispiel) Einer für alle, Diskrimierung über view.getid() Ändere TextView Fehlt Direkt im Listener möglich Oder Aufruf weiterer Methoden (Bsp) Initial TextView setzen public class ToggleActivity extends Activity { String[] greetings = { "Hallo", "Hello", "Salut", "Hola", " 你 好 (n ǐ hǎo)" ; int current=0; private View.OnClickListener ontogglelistener = new View.OnClickListener() { public void onclick(view view) { onclicktoggle(view); ; public void onclicktoggle(view view) { Log.v(TAG, "onclicktoggle"); current = (current+1) % greetings.length; tvdisplay.settext(greetings[current]); Prof. Dr. Peter Barth, Mobile Computing 10 Verhalten Alternative zu Callbacks App Beenden Callback mit Signatur public void (View ) Aufruf von Activity-Methode finish() In Android-Apps vermeiden Alles bleibt offen, System schließt Method-Binding in Layout-Datei android:onclick und Methodenname android:on* verfügbar Vorteil: ID nicht notwendig public class ToggleActivity extends Activity { public void onclickfinish(view view) { Log.v(TAG, "onclickfinish"); finish(); android:layout_width="wrap_content" android:text="@string/msg_btn_finish" android:onclick="onclickfinish" res/layout/toggle.xml Nachteil: Mischen Layout und Callback, nicht wiederverwendbar Prof. Dr. Peter Barth, Mobile Computing 11 Ressourcen Ressourcen Unterhalb von res, keine weiteren Unterverzeichnisse, XML- oder Binär-Dateien Nur Kleinbuchstaben, Zahlen und _, optional umgebungsabhängig (Sprachen -en) Drawables (drawables, mipmap) Bilder und Grafiken je nach Auflösung XML-Ressourcen layout: Layoutdefinitionen menu: Kontext- und Optionsmenus values: Schlüssel-/Wert-Definitionen (Text, Farben, ) xml: Alles sonstiges XML-ige, wird vorkompiliert raw: Andere Binärresourcen (nicht vorkompiliert) Alternative zu res, Ressourcen in assets Unterordner beliebig, Format beliebig, Zugriff als Stream Prof. Dr. Peter Barth, Mobile Computing 12

4 Ressourcen drawable, mipmap Drawable, zeichenbar Bilder und Grafiken, JPEG, PNG, Bitmap Nine-Patch-Files (.9.png) Spezielle XML-Dateien Mipmap, wie drawable, bleibt für alle *dpi bei APK-build vorhanden Gut für Icons Verschiedene Ordner, Ressourcen je nach Auflösung in dpi (dots per inch) -mdpi: Ordner mit drawable für Geräte mit ~160 dpi hdpi: ~200 dpi, xhdpi; ~320 dpi, xxhdpi: ~480 dpi, xxxhdpi: ~640 dpi Größe davon unabhängig, gemessen in dp (dip) für 160 dpi screens res/mipmap-mdpi res/mipmap-mdpi/ic_launcher.png res/mipmap-hdpi res/mipmap-hdpi/ic_launcher.png res/mipmap-xhdpi res/mipmap-xhdpi/ic_launcher.png res/mipmap-xxhdpi res/mipmap-xxhdpi/ic_launcher.png Prof. Dr. Peter Barth, Mobile Computing 13 Ressourcen Definition Definition, XML-Datei Schlüssel/Wert: values Ganze Datei: layout, ohne Endung Autogeneriert: id <resources> <string name="msg_btn_toggle">toggle</string> </resources> res/values/strings.xml res/layout/toggle.xml public final class R { Kompilieren public static final class id { Datei R.java, public static final int btn_toggle=0x7f09003f; automatisch generiert public static final class string { Nach Typ unterschieden public static final int msg_btn_toggle=0x7f0b0012; id, string, layout, id public static final class layout { Nicht ändern, nicht unter Versionskontrolle stellen public static final int toggle=0x7f040018; Steht auch unter build build/generated/source/r/debug/de/medieninf/mobcomp/toggle/r.java Prof. Dr. Peter Barth, Mobile Computing 14 Ressourcen Verwenden Verwenden in Ressourcen (XML) Zugriff über Beispiel: vordefiniert in Android Verwenden in Java R wird automatisch inkludiert, kein import Zugriff über Zahl, getresources().get<typ>(<konstante>) Viele Methoden unterstützen int Parameter, in R definierter Key android:text="@string/msg_btn_toggle" res/layout/toggle.xml Zugriff auf Ressource über Ressourcen-Schlüssel String msgbuttontoggle = getresources().getstring(r.string.msg_btn_toggle); btntoggle.settext(msgbuttontoggle); Direkt verwenden Ressourcen-Schlüssel btntoggle.settext(r.string.msg_btn_toggle); Prof. Dr. Peter Barth, Mobile Computing 15 Ressourcen Verwenden, Typisches Beispiel Zugriff auf Layout setcontentview Immer so die Wurzel ViewGroup setzen Immer in oncreate View-Komponenten Zugriff findviewid sucht in Baum ab Wurzel nach ID Casten notwendig, zurückgegebener Typ im View View-Komponenten cachen private TextView tvdisplay; private Button btntoggle; setcontentview(r.layout.toggle); tvdisplay = (TextView) findviewbyid(r.id.tv_display); btntoggle = (Button) findviewbyid(r.id.btn_toggle); Ändern sich nicht über kompletten Lebenszyklus der Activity Teuer, daher cachen in Instanzvariablen, üblicherweise in oncreate Prof. Dr. Peter Barth, Mobile Computing 16

5 Styling Direkte Attribute Direkte Attribute Je Element Direkte Attribute Verändert Aussehen Attribute text* textcolor textsize textstyle. (siehe Dokumentation) Vermeiden: Schnell Chaotisch und uneinheitlich <TextView android:textsize="24sp" android:textstyle="bold italic" android:textstyle="bold" android:textstyle="bold" res/layout/toggle.xml Prof. Dr. Peter Barth, Mobile Computing 17 Widgets Größenangaben dp (oder dip) density independent pixel, auflösungsunabhängige Pixel 1dp entspricht einem Pixel auf einem 160 dpi Display Für alles verwenden was skalierbar ist Außer Fonts sp, scale independent pixel Wie dp, nur berücksichtigt benutzerspezifische Fontgrößenpräferenzen Für Fontgrößen verwenden Nicht verwenden px, pixel: Aktuelle Pixel auf dem Bildschirm in (inch), mm (mm): basiert auf Displaygröße pt, point: 1/72 inch, basiert auf Displaygröße <TextView android:textsize="24sp" Prof. Dr. Peter Barth, Mobile Computing 18 Styling Styles Styles Sammlung von Attributen Vererbungshierarchy.Notation für lokale Vererbung Einheitlich, zentral änderbar Verwenden style: Style auf View anwenden Mischen mit anderen Attributen möglich Theme res/values/style.xml <style name="togglestyle" <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item <item name="android:textstyle">bold</item> </style> <style name="togglestyle.important"> <item </style> <TextView res/layout/toggle.xml android:textstyle="italic" Anwendung eines Style auf alle Views (einer Activity) Prof. Dr. Peter Barth, Mobile Computing 19 String-Array Resource String-Array Vermeiden von Konstanten Listen/Felder <string-array> in strings Ressource items Zugriff im Code als arrays Wie erwartet Stark empfohlen <resources> <string-array name="greetings"> <item>hallo</item> <item>hello</item> <item>salut</item> <item>hola</item> <item> 你 好 (n ǐ hǎo)</item> </string-array> </resources> private String[] greetings; private int current; res/values/strings.xml greetings = getresources().getstringarray(r.array.greetings); current = 0; tvdisplay.settext(greetings[current]); Prof. Dr. Peter Barth, Mobile Computing 20

6 Widgets Übersicht Übersicht über wichtigste Widgets und Verwendung Button Toast TextView, EditText CheckBox RadioGroup, RadioButton Spinner DatePicker, TimePicker ListView Button, ImageButton Button Beschriftung Text ImageButton Angabe eines Bilds, Ressource Button und ImageButton Meistens Definition einer ID zum Zugriff auf ViewKomponente in Java, Basis für Interaktion R.id.btn_text, R.id.btn_image Bindung kann auch direkt erfolgen Methode onbuttonclicked vermeiden android:layout_width="match_parent" android:text="button" android:onclick="onbuttonclicked" <ImageButton android:layout_width="match_parent" Prof. Dr. Peter Barth, Mobile Computing 21 Prof. Dr. Peter Barth, Mobile Computing 22 Button Callback Wichtigster Callback Was passiert beim Click Listener OnClickListener In Java realisieren Alternative direktes Binding Methode mit Signatur public void (View view) View view Geklickter Button Rausfinden welcher über ID möglich private ImageButton imagebutton; setcontentview(r.layout.button); imagebutton = (ImageButton) findviewbyid(r.id.btn_image); imagebutton.setonclicklistener(new View.OnClickListener() { public void onclick(view view) { onbuttonclicked(view); ); public void onbuttonclicked(view view) { switch (view.getid()) { case R.id.btn_image: Log.v(TAG, "ImageButton clicked"); break; case R.id.btn_text: Log.v(TAG, "TextButton clicked"); break; default: Log.e(TAG, "no button clicked??"); break; Nur ein OnClickListener für viele Buttons möglich Prof. Dr. Peter Barth, Mobile Computing 23 Toast Toast: Kurze Nachricht Taucht auf Bildschirm für eine feste Zeitspanne auf Toast.LENGTH_SHORT, Toast.LENGTH_LONG Verwenden Static Factory, maketext Context-Object ist umgebende Activity Widget ohne XML Gut, um einfach zu tracen, ausprobieren setcontentview(r.layout.toast); Button btnshorttoast = (Button) findviewbyid(r.id.btn_short_toast); btnshorttoast.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { Toast toast = Toast.makeText(ToastActivity.this, "Short Toast", Toast.LENGTH_SHORT); toast.show(); Instanz ); umgebender Klasse public void onlongtoast(view view) { Toast toast = Toast.makeText(this, "Long Toast", Nicht Teil der App Toast.LENGTH_LONG); Interaktion toast.show(); ToastActivity.java Prof. Dr. Peter Barth, Mobile Computing 24

7 TextView TextView: Anzeige von Text Attribute von Java änderbar Einfache Auszeichnung möglich private TextView tvdisplay; private int text=0, fontsize=0, bg=0, fg=0; private String[] texts; private int[] colorids = {R.color.color1, ; public void onclickfontsize(view view) { fontsize = (fontsize == 28)? 8 : fontsize+1; tvdisplay.settextsize( TypedValue.COMPLEX_UNIT_SP, fontsize); texts = getresources().getstringarray( R.array.textview_msgs); public void onclicktext(view view) { normal, <b>fett</b>, <i>italic</i>, <u>unterstrichen</u>, <b><i><u>alles</u></i></b> <TextView android:id="@+id/tv_display" android:layout_width="match_parent" android:text="@string/textview_msg" <TextView android:layout_width="match_parent" android:text="@string/textview_long_msg" <TextView android:layout_width="match_parent" android:text="@string/textview_formatted_msg" text = (text + 1) % texts.length; tvdisplay.settext(texts[text]); <resources> <color name="color1">@android:color/holo_red_light</color> public void onclickbackground(view view) { <color name="color2">@android:color/holo_red_dark</color> bg = (bg + 1) % colorids.length; tvdisplay.setbackgroundcolor( </resources> getresources().getcolor(colorids[bg])); res/values/colors.xml Prof. Dr. Peter Barth, Mobile Computing 25 ImageView ImageView: Anzeige von Bilder Meist Anzeige von Drawables <ImageView android:src="@mipmap/ic_launcher" <ImageView android:id="@+id/iv_display" android:src="@drawable/iclxxh" private ImageView ivdisplay; private String[] exts = {"m", "h", "xh", "xxh"; int ext = 0; Sucht sich passende Größe public void onclicksize(view view) { ext = (ext + 1) % exts.length; 3418 drawable/iclh.png String fname = "icl"+exts[ext]; 2206 drawable/iclm.png int id = getresources().getidentifier(fname, 4842 drawable/iclxh.png "drawable", getpackagename()); 7718 drawable/iclxxh.png ivdisplay.setimageresource(id); 3418 mipmap-hdpi/ic_launcher.png Kopie aus 2206 mipmap-mdpi/ic_launcher.png 4842 mipmap-xhdpi/ic_launcher.png mipmap-* 7718 mipmap-xxhdpi/ic_launcher.png Prof. Dr. Peter Barth, Mobile Computing 26 EditText EditText: Eingabefeld Hinweis, wenn leer möglich Ähnlich zu TextView Methoden gettext, settext: Setzen/Holen Inhalt (Dokumentation) <EditText android:id="@+id/et_edit" android:hint="hinweis, wenn leer" <TextView android:id="@+id/tv_oben" <TextView android:id="@+id/tv_unten" private EditText etedit; private TextView tvoben; private TextView tvunten; setcontentview(r.layout.editext); etedit = (EditText) findviewbyid(r.id.et_edit); tvoben = (TextView) findviewbyid(r.id.tv_oben); tvunten = (TextView) findviewbyid(r.id.tv_unten); Prof. Dr. Peter Barth, Mobile Computing 27 EditText Verwenden TextWatcher, zum kontinuierlichen Aktualisieren des oberen TextView Update-Button, um unteren TextView zu aktualisieren private TextWatcher textwatcher = new TextWatcher() { public void beforetextchanged(charsequence s, int start, int count, int after) { public void ontextchanged(charsequence s, int start, int before, int count) { public void aftertextchanged(editable s) { tvoben.settext(etedit.gettext()); ; etedit.addtextchangedlistener(textwatcher); Sondernzeichen ö long press o public void onclickupdate(view view) { tvunten.settext(etedit.gettext()); Prof. Dr. Peter Barth, Mobile Computing 28

8 CheckBox CheckBox: Ein/Aus Verwenden <LinearLayout.. <CheckBox android:text="check Me 1" <CheckBox android:text="check Me 2" </LinearLayout> <CheckBox android:text="check Me 3" ischecked, setchecked; Listener bei Änderungen private CompoundButton.OnCheckedChangeListener occl = new CompoundButton.OnCheckedChangeListener() { public void oncheckedchanged(compoundbutton c, boolean value) { String msg = String.format("cb1: %s, cb2: %s, cb3: %s", cb1.ischecked(), cb2.ischecked(), cb3.ischecked()); tvcheckbox1.settext(msg); ; cb1 = (CheckBox) findviewbyid(r.id.cb1); CheckBox[] cbs = {cb1, cb2, cb3; for (CheckBox cb : cbs) cb.setoncheckedchangelistener(occl); public void onclickupdate(view view) { String msg = ; tvcheckbox2.settext(msg); public void onclickset(view view) { cb1.setchecked(true); cb2.setchecked(false); cb3.setchecked(true); Prof. Dr. Peter Barth, Mobile Computing 29 RadioGroup, RadioButton RadioButtons in RadioGroup Eins aus mehreren RadioGroup für eins aus Verwenden <RadioGroup android:id="@+id/rg_color"..> <RadioButton android:id="@+id/rb_red" android:text="rot" android:textcolor="#ff0000" <RadioButton android:id="@+id/rb_green" android:text="grün" android:textcolor="#00ff00" <RadioButton android:id="@+id/rb_blue" android:text="blau" android:textcolor="#0000ff" </RadioGroup> private RadioGroup.OnCheckedChangeListener occl = new RadioGroup.OnCheckedChangeListener() { Alles über RadioGroup public void oncheckedchanged(radiogroup g, int ceckedid) { Geht auch mit RadioButtons switch (checkedid) { case R.id.rb_red: tvcolor.settext("rot"); break; case R.id.rb_green: tvcolor.settext("grün"); break; public void onclicknext(view view) { case R.id.rb_blue: tvcolor.settext("blau"); break; switch (rgcolor.getcheckedradiobuttonid()) { case R.id.rb_red: rgcolor.check(r.id.rb_green); break; ; case R.id.rb_green: public void oncreate(bundle savedinstancestate) { rgcolor.check(r.id.rb_blue); break; rgcolor.setoncheckedchangelistener(occl); case R.id.rb_blue: Prof. Dr. Peter Barth, Mobile Computing 30 rgcolor.check(r.id.rb_red); break; Spinner Spinner: Eins aus Mehreren Dropdown oder Dialog Automatisches Scrollen Aus String-Feldern Ressourcen aufgebaut <string name="spinner_raeume_prompt"> Welcher Raum?</string> <string-array name="raeume"> <item>raum 11</item> <item>raum 12</item> <item>raum 13</item> <item>raum 14</item> <item>cube</item> <item>serverraum</item> <item>raum 17</item> <item>raum 18</item> </string-array> <Spinner android:id="@+id/spinner_raeume" android:spinnermode="dropdown" android:spinnermode="dialog" android:prompt="@string/spinner_raeume_prompt" Prof. Dr. Peter Barth, Mobile Computing 31 Spinner Adapter AdapterView Anzeige vieler Datensätze (z.b. Spinner), Oberklasse AdapterView Bindeglied zwischen View und Menge von Datensätzen ist Adapter Adapter Datenquelle: Füllen der AdapterView mit Datensätzen Ansicht: Welche View für die Darstellung Vordefinierte generische Adapter: ArrayAdapter, CursorAdapter Verwendung ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.raeume, android.r.layout.simple_spinner_item); adapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); spinnerraeume.setadapter(adapter); // vom Typ Spinner Konstruktoren möglich adapter verwenden Quellen statt Ressource möglich, add/remove möglich Static Factory Method Adapter von Ressource Vordefinierte Formate für Anzeige Prof. Dr. Peter Barth, Mobile Computing 32

9 Spinner AdapterView Listener OnItemSelectedListener Teil der AdapterView Aufruf bei Änderung der Auswahl Zugriff auf relevanten Zustand und Strukturen AdapterView.OnItemSelectedListener avoisl = new AdapterView.OnItemSelectedListener() { public void onitemselected(adapterview<?> parent, View view, int position, long id) { String selected = (String) parent.getselecteditem(); tvselected.settext(selected); public void onnothingselected(adapterview<?> parent) { tvselected.settext(""); ; public void oncreate spinnerraeume.setonitemselectedlistener(avoisl); Qualifizierter Name üblich, vermeiden von Konflikten Prof. Dr. Peter Barth, Mobile Computing 33 DatePicker DatePicker: Ein Datum auswählen Inline Verwendbar Empfohlen ist Verwendung als DialogFragmente private DatePicker datepicker; private TextView tvdate; public void onclickupdatedate(view view) { tvdate.settext(getdatefromdatepicker(datepicker).tostring()); // stackoverflow: /getdate-from-datepicker-android public static java.util.date getdatefromdatepicker( DatePicker datepicker) { int day = datepicker.getdayofmonth(); int month = datepicker.getmonth(); int year = datepicker.getyear(); Calendar calendar = Calendar.getInstance(); calendar.set(year, month, day); return calendar.gettime(); <DatePicker android:id="@+id/dp_date" Prof. Dr. Peter Barth, Mobile Computing 34 DatePicker Listener Kontinuierliches Update DatePicker.OnDateChangedListener Etwas umständlich mit init initialisieren private DatePicker.OnDateChangedListener dcl = new DatePicker.OnDateChangedListener() { public void ondatechanged(datepicker view, int year, int monthofyear, int dayofmonth) { Calendar calendar = Calendar.getInstance(); calendar.set(year, monthofyear, dayofmonth); tvdatecont.settext(calendar.gettime().tostring()); ; public void oncreate Calendar cal = Calendar.getInstance(); datepicker.init(cal.get(calendar.year), cal.get(calendar.month), cal.get(calendar.day_of_month), dcl); Prof. Dr. Peter Barth, Mobile Computing 35 TimePicker TimePicker: Eine Zeit auswählen Ähnlich zu DatePicker, Unterschiede im Detail TimePicker.OnTimeChangedListener tcl = new TimePicker.OnTimeChangedListener() { public void ontimechanged(timepicker view, int hourofday, int minute) { Calendar calendar = Calendar.getInstance(); calendar.set(calendar.hour_of_day, hourofday); calendar.set(calendar.minute, minute); calendar.set(calendar.second, 0); tvtimecont.settext(calendar.gettime().tostring()); ; timepicker.setontimechangedlistener(tcl); Calendar cal = Calendar.getInstance(); timepicker.setcurrenthour(cal.get(calendar.hour_of_day)); timepicker.setcurrentminute(cal.get(calendar.minute)); public void onclickupdatetime(view view) { Calendar calendar = Calendar.getInstance(); calendar.set(calendar.hour_of_day, timepicker.getcurrenthour()); calendar.set(calendar.minute, timepicker.getcurrentminute()); calendar.set(calendar.second, 0); Prof. tvtime.settext(calendar.gettime().tostring()); Dr. Peter Barth, Mobile Computing 36

10 ListView ListView Auswahl aus Liste von Möglichkeiten Initialisieren mit ressource ListViewActivity Vorgefertigt Mit Activity außen herum Dokumentation <string-array name="widgets"> <item>button</item> <item>toast</item> <item>textview</item> <item>imageview</item> <item>edittext</item> <item>checkbox</item> <item>radio</item> <item>spinner</item> <item>datepicker</item> <item>timepicker</item> </string-array> <ListView private ListView lvwidgets; private List<String> widgets; widgets = Arrays.asList(getResources().getStringArray(R.array.widgets)); lvwidgets = (ListView) findviewbyid(r.id.lv_widgets); Prof. Dr. Peter Barth, Mobile Computing 37 ListView Adapter ArrayAdapter Initialisieren und setzen Callbacks Callback OnItemClickListener Mit Klassenpräfix AdapterView Verhalten Generiert Klassennamen Startet Activity Achtung: Alle Activities müssen in Manifest sein ArrayAdapter<String> widgetsadapter = new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1, widgets); lvwidgets.setadapter(widgetsadapter); lvwidgets.setonitemclicklistener(lvoicl); private AdapterView.OnItemClickListener lvoicl = new AdapterView.OnItemClickListener() { public void onitemclick(adapterview<?> parent, View view, int position, long id) { String widgetname = widgets.get(position); String currentpackage = this.getclass().getpackage().getname(); String classname = currentpackage + "." + widgetname + "Activity"; Class<Activity> activity = (Class<Activity>) Class.forName(className); Intent intent = new Intent(WidgetsActivity.this, activity); startactivity(intent); ; Prof. Dr. Peter Barth, Mobile Computing 38 Zustand bei Neustart, Änderung der Ausrichtung Neustart der App Passiert häufig, zum Beispiel beim Rotieren (orientation change) Zustand/Benutzerdaten müssen gespeichert werden Zustand speichern mit Bundle Bundle savedinstancestate Viele Controls legen dort automatisch Ihren Zustand ab Eigenen Zustand dort auch speichern Eigenen Zustand speichern Wenn nicht schon automatisch gespeichert Muss Grundtyp/String/Wrapper sein oder Parcelable implementieren Methoden, Bundle als Parameter onsaveinstancestate, onrestoreinstancestate, super nicht vergessen Bundle schon in oncreate verfügbar, nicht nutzen oncreate Created Resumed (sichtbar, aktiv) onresume onrestoreinstancestate onstart onpause onsaveinstancestate onstop ondestroy Destroyed Prof. Dr. Peter Barth, Mobile Computing 39 ToggleApp Zustand speichern Zustand der ToggleApp Controls, werden automatisch gesichert Grüße, werden automatisch neu geladen Aber: Ausgewählter Gruß, int Instanzvariable Problem Beim Drehen der ToggleApp wird immer erster Eintrag gezeigt Ziel ist letztgewählten Eintrag beizubehalten Lösung *InstanceState Aktualisierung Anzeige, da nach oncreate private String[] greetings; private int current; final static String CURRENT = "current"; protected void onsaveinstancestate(bundle outstate) { super.onsaveinstancestate(outstate); outstate.putint(current, current); protected void onrestoreinstancestate(bundle savedinstancestate) { super.onrestoreinstancestate(savedinstancestate); current = savedinstancestate.getint(current); tvdisplay.settext(greetings[current]); Prof. Dr. Peter Barth, Mobile Computing 40

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

App Entwicklung mit dem Android SDK

App 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

Mehr

Labor 2 : Hello, World Plus

Labor 2 : Hello, World Plus Labor 2 : Hello, World Plus Ziel Als nächstes werden Sie eine neue Anwendung HelloAndroidPlus erstellen, die eine Erweiterung der Funktionalität der ersten Übung HelloAndroidPrj beinhaltet: Sobald man

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

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

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

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

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

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

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

Android User Interface

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

Mehr

Seminar Multimediale Werkzeuge Sommersemester 2011

Seminar 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)

Mehr

Ihr CMS für die eigene Facebook Page - 1

Ihr CMS für die eigene Facebook Page - 1 Ihr CMS für die eigene Facebook Page Installation und Einrichten eines CMS für die Betreuung einer oder mehrer zusätzlichen Seiten auf Ihrer Facebook Page. Anpassen der "index.php" Installieren Sie das

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

Mobile App Development. - Grafische Oberflächen 2 -

Mobile 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

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android XML / Layouts Hochschule Darmstadt WS15/16 1 Inhalt XML Layouts Layouttypen Dimensions View Element Designs Farben Strings 2 XML XML ist eine Meta-Sprache zur Festlegung der

Mehr

Mobile App Development. - Grafische Oberflächen -

Mobile 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

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

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

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

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

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

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

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

Programmieren 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

Mehr

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

Android - Ressource. Leibniz Universität IT Services Anja Aue Android - Ressource Leibniz Universität IT Services Anja Aue Ressourcen Verwaltung von Informationen zur Benutzeroberfläche ähnlich wie Cascading Style Sheets. Ablage von Strings, Bildern etc. in einer

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Einführung in Android. 9. Dezember 2014

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

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

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

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

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

Mehr

Erstellen eines Screenshot

Erstellen eines Screenshot Blatt 1 von 5 Erstellen eines Screenshot Einige Support-Probleme lassen sich besser verdeutlichen, wenn der Supportmitarbeiter die aktuelle Bildschirmansicht des Benutzers sieht. Hierzu bietet Windows

Mehr

Einführung in die Programmierung

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

Mehr

Fotostammtisch-Schaumburg

Fotostammtisch-Schaumburg Der Anfang zur Benutzung der Web Seite! Alles ums Anmelden und Registrieren 1. Startseite 2. Registrieren 2.1 Registrieren als Mitglied unser Stammtischseite Wie im Bild markiert jetzt auf das Rote Register

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

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Modellierung einer Android-App. 2. Mai 2013

Modellierung 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

Mehr

DOKUMENTATION VOGELZUCHT 2015 PLUS

DOKUMENTATION VOGELZUCHT 2015 PLUS DOKUMENTATION VOGELZUCHT 2015 PLUS Vogelzucht2015 App für Geräte mit Android Betriebssystemen Läuft nur in Zusammenhang mit einer Vollversion vogelzucht2015 auf einem PC. Zusammenfassung: a. Mit der APP

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

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

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

Grafikbausatz Overlays Profi. für iphone/pocket Visu & PC Visualisierungen

Grafikbausatz Overlays Profi. für iphone/pocket Visu & PC Visualisierungen Grafikbausatz Overlays Profi für iphone/pocket Visu & PC Visualisierungen Einleitung Mit dem Grafikbausatz Overlays können Sie sich selbst aus diesen verschiedensten Vorlagen Grafiken so kombinieren wie

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

32.4 Anpassen von Menüs und Symbolleisten 795i

32.4 Anpassen von Menüs und Symbolleisten 795i 32.4 Anpassen von Menüs und Symbolleisten 795i Fortsetzung der Seiten in der 8. Auflage 32.4 Anpassen von Menüs und Symbolleisten 32.4.1 Anpassen von Menüs Die Menüs können um folgende Typen von Optionen

Mehr

Kurzanleitung für das IdeaClouds-Whiteboard. 1. Ablauf eines Workshops... S. 2 2. Auf Whiteboard arbeiten... S. 8 3. FAQ.. S. 14

Kurzanleitung für das IdeaClouds-Whiteboard. 1. Ablauf eines Workshops... S. 2 2. Auf Whiteboard arbeiten... S. 8 3. FAQ.. S. 14 Kurzanleitung für das IdeaClouds-Whiteboard 1. Ablauf eines Workshops..... S. 2 2. Auf Whiteboard arbeiten.... S. 8 3. FAQ.. S. 14 1 1. In Ihrem Workshop bearbeiten Sie Aufgaben. Aufgabe Hier sehen Sie

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

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

Programmieren 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 Ressourcen XML in der Android-Entwicklung zur Definition von Ressourcen Im /res Ordner layout: Definition von Layouts

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Kalenderfunktion in Open-Xchange richtig nutzen (PC-Support)

Kalenderfunktion in Open-Xchange richtig nutzen (PC-Support) funktion in Open-Xchange richtig nutzen (PC-Support) 1.) Bei Open-Xchange mit der RUMMS-Kennung einloggen unter http://ox.uni-mannheim.de 2.) Links oben im Menü den aufrufen: 3.) In der Mitte oben bei

Mehr

Bilder zum Upload verkleinern

Bilder zum Upload verkleinern Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr

Mehr

Schulung Marketing Engine Thema : Einrichtung der App

Schulung Marketing Engine Thema : Einrichtung der App Schulung Marketing Engine Thema : Einrichtung der App Videoanleitung : http://www.edge-cdn.net/video_885168?playerskin=48100 Marketing Engine Tool : App Paket : Basis / Premium Version 2.0-03.11.2015 1

Mehr

Kurzeinführung Excel2App. Version 1.0.0

Kurzeinführung Excel2App. Version 1.0.0 Kurzeinführung Excel2App Version 1.0.0 Inhalt Einleitung Das Ausgangs-Excel Excel-Datei hochladen Excel-Datei konvertieren und importieren Ergebnis des Imports Spalten einfügen Fehleranalyse Import rückgängig

Mehr

Vorarlberger Standardschulinstallation schulen.em@ail Anbindung von Android Mobile Devices

Vorarlberger Standardschulinstallation schulen.em@ail Anbindung von Android Mobile Devices Besuchen Sie uns im Internet unter http://www.vobs.at/rb 2012 Schulmediencenter des Landes Vorarlberg IT-Regionalbetreuer des Landes Vorarlberg 6900 Bregenz, Römerstraße 14 Alle Rechte vorbehalten Vorarlberger

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter

Mehr

Titel. SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab

Titel. SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab Autor: Thomas Hanrath Microsoft Certified Trainer Titel SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen Eine beispielhafte Installationsanleitung zur Verwendung im Testlab Quelle: System

Mehr

Einfügen von Bildern innerhalb eines Beitrages

Einfügen von Bildern innerhalb eines Beitrages Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Support-Tipp Mai 2010 - Release Management in Altium Designer

Support-Tipp Mai 2010 - Release Management in Altium Designer Support-Tipp Mai 2010 - Release Management in Altium Designer Mai 2010 Frage: Welche Aufgaben hat das Release Management und wie unterstützt Altium Designer diesen Prozess? Zusammenfassung: Das Glück eines

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Multimedia Engineering II - Übung 2

Multimedia Engineering II - Übung 2 Multimedia Engineering II - Übung 2 Zielstellung der Übungsaufgabe Das Login-Panel der ersten Übung erhält nun die Funktion, auf eine zweite View zu wechseln. Auf dieser werden Sie nun das erste Mal einen

Mehr

Satzhilfen Publisher Seite Einrichten

Satzhilfen Publisher Seite Einrichten Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Einstellungen der Anzeige

Einstellungen der Anzeige Kurzanleitung Beim Start der Datenbank erscheinen folgende Auswahlmöglichkeiten (wenn man zur Rolle Admin gehört ). Mit der Schaltfläche Administration öffnet sich der Dialog zur Eingabe der Registrierung.

Mehr

Herstellen von Symbolen mit Corel Draw ab Version 9

Herstellen von Symbolen mit Corel Draw ab Version 9 Herstellen von Symbolen mit Corel Draw ab Version 9 Einleitung : Icon Design-Überblick: 1) Gestalten in Corel Draw 10.0 3) Vorlage für Photopaint für Import von Corel 4) Einfügen in die PSD-Datei und Bearbeiten

Mehr

tentoinfinity Apps 1.0 EINFÜHRUNG

tentoinfinity Apps 1.0 EINFÜHRUNG tentoinfinity Apps Una Hilfe Inhalt Copyright 2013-2015 von tentoinfinity Apps. Alle Rechte vorbehalten. Inhalt der online-hilfe wurde zuletzt aktualisiert am August 6, 2015. Zusätzlicher Support Ressourcen

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

Schulung Marketing Engine Thema : Einrichtung der App

Schulung Marketing Engine Thema : Einrichtung der App Schulung Marketing Engine Thema : Einrichtung der App Videoanleitung : http://www.edge-cdn.net/video_885168?playerskin=48100 Marketing Engine Tool : App Paket : Basis / Premium Version 1.0-09.07.2015 1

Mehr

Einstieg in die App-Entwicklung für Android-Geräte mit Java. Dr. Cora Burger

Einstieg in die App-Entwicklung für Android-Geräte mit Java. Dr. Cora Burger 182-96100 Einstieg in die App-Entwicklung für Android-Geräte mit Java Dr. Cora Burger www.cora-burger.de Tagesplan 10:00-11:30 Uhr Java-Wiederholungsquiz, Android Studio, HalloWelt-App 11:30-11:45 Uhr

Mehr

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller Proseminar: Website-Managment-System NetObjects Fusion von Christoph Feller Netobjects Fusion - Übersicht Übersicht Einleitung Die Komponenten Übersicht über die Komponenten Beschreibung der einzelnen

Mehr

Java Einführung Packages

Java Einführung Packages Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Mobile App Development. - Alarm -

Mobile App Development. - Alarm - Mobile App Development - Alarm - Inhalt Alarme AlarmManger Wake locks 2 Alarm Alarm Oft ist es notwendig eine App zu starten, auch wenn der Benutzer nicht mit ihr interagiert Starten von Activities zu

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

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

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

Word 2013. Aufbaukurs kompakt. Dr. Susanne Weber 1. Ausgabe, Oktober 2013 K-WW2013-AK Word 0 Dr. Susanne Weber. Ausgabe, Oktober 0 Aufbaukurs kompakt K-WW0-AK Eigene Dokumentvorlagen nutzen Voraussetzungen Dokumente erstellen, speichern und öffnen Text markieren und formatieren Ziele Eigene

Mehr

Installation / Aktualisierung von Druckertreibern unter Windows 7

Installation / Aktualisierung von Druckertreibern unter Windows 7 Rechenzentrum Installation / Aktualisierung von Druckertreibern unter Windows 7 Es gibt drei verschiedene Wege, um HP-Druckertreiber unter Windows7 zu installieren: (Seite) 1. Automatische Installation...

Mehr

Androidprojekt. Benutzerdokumentation. Buchverwaltung. Autoren: Katharina Mollus Steffen Ritter. Betreuer: Prof. Dr.

Androidprojekt. Benutzerdokumentation. Buchverwaltung. Autoren: Katharina Mollus Steffen Ritter. Betreuer: Prof. Dr. Androidprojekt Benutzerdokumentation Buchverwaltung Autoren: Katharina Mollus Steffen Ritter Betreuer: Prof. Dr. Lothar Piepmeyer 1 1 Aufbau Die App besteht im Großen und Ganzen aus zwei Ansichten. Auf

Mehr

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer Zentrum für Datenverarbeitung der Universität Tübingen Inhaltsverzeichnis 1.Synchronisation...aber

Mehr

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

CC Modul Leadpark. 1. Setup 1.1 Providerdaten 1.2 Einstellungen 1.3 Qualifizierungsstati 1.4 Reklamationsstati 1.5 Design 1.

CC Modul Leadpark. 1. Setup 1.1 Providerdaten 1.2 Einstellungen 1.3 Qualifizierungsstati 1.4 Reklamationsstati 1.5 Design 1. CC Modul Leadpark 1. Setup 1.1 Providerdaten 1.2 Einstellungen 1.3 Qualifizierungsstati 1.4 Reklamationsstati 1.5 Design 1.6 Dateien 2. Mein Account 2.1 Shortcutmenü 2.2 Passwort 2.3 E-Mail 2.4 Daten 3.

Mehr

Android-Apps weitere Möglichkeiten

Android-Apps weitere Möglichkeiten Android-Apps weitere Möglichkeiten 2/20 weitere Möglichkeiten Speichern in der Sandbox OnTouchListener Senden und Empfangen von SMS Anbindung von Datenbanken Der Beschleunigungssensor Übung 3/20 Speichern

Mehr

News & RSS. Einleitung: Nachrichten er-(veröffentlichen) und bereitstellen Nachrichten erstellen und bereitstellen

News & RSS. Einleitung: Nachrichten er-(veröffentlichen) und bereitstellen Nachrichten erstellen und bereitstellen News & RSS Nachrichten er-(veröffentlichen) und bereitstellen Nachrichten erstellen und bereitstellen Einleitung: Sie wollen Ihre Nutzer immer mit den neuesten Informationen versorgen bzw. auf dem laufendem

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

WordPress. Dokumentation

WordPress. Dokumentation WordPress Dokumentation Backend-Login In das Backend gelangt man, indem man hinter seiner Website-URL einfach ein /wp-admin dranhängt www.domain.tld/wp-admin Dabei gelangt man auf die Administrationsoberfläche,

Mehr

Wasserzeichen mit Paint-Shop-Pro 9 (geht auch mit den anderen Versionen. Allerdings könnten die Bezeichnungen und Ansichten etwas anders sein)

Wasserzeichen mit Paint-Shop-Pro 9 (geht auch mit den anderen Versionen. Allerdings könnten die Bezeichnungen und Ansichten etwas anders sein) Wasserzeichen mit Paint-Shop-Pro 9 (geht auch mit den anderen Versionen. Allerdings könnten die Bezeichnungen und Ansichten etwas anders sein) Öffne ein neues Bild ca. 200 x 200, weiß (Datei - neu) Aktiviere

Mehr

6 Oberflächen und Daten

6 Oberflächen und Daten 111 6 Oberflächen und Daten Nachdem wir nun viel über die Gestaltung von Oberflächen und den Zugriff auf Views gelernt haben, möchten wir in diesem Kapitel zeigen, wie man Bildschirmseiten mit Daten aus

Mehr

Erstellen eines Wordpress-Blogs

Erstellen eines Wordpress-Blogs Erstellen eines Wordpress-Blogs Inhalt 1 Einen Wordpress-Blog erstellen... 3 2 Wordpress konfigurieren... 5 2.1 Wordpress-Anmeldung... 5 2.2 Sprache einstellen... 7 2.3 Einen neuen Artikel verfassen...

Mehr

[Bedienungsanleitung] InfoSys App

[Bedienungsanleitung] InfoSys App [Bedienungsanleitung] 19.1.2014 Inhaltsverzeichnis Bedienungsanleitung InfoSys Widget... 2... 3 Hauptmenü... 4 Fachbereich... 5 Studiengang... 5 Online Stundenplan... 6 InfoSys Meldungen... 7 Persönlicher

Mehr

Format- oder Stilvorlagen

Format- oder Stilvorlagen Vorraussetzung Sie sollten Grundkenntnisse der HTML-Sprache besitzen, um die Ausbildungseinheit Formatvorlagen, auch Stilvorlagen genannt, ohne Probleme verstehen zu können. Ist dies nicht der Fall, empfehlen

Mehr

Java Projekt: Tic Tac Toe + GUI

Java Projekt: Tic Tac Toe + GUI Java Projekt: Tic Tac Toe + GUI Rechnerpraktikum aus Programmierung im WS 2005/06 unter der Leitung von Dr. Michael Hahsler Tadeh Amirian (h0253821) 10.01.2006 1) Problemdefinition Beim TicTacToe Spiel

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

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

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

188.154 Einführung in die Programmierung für Wirtschaftsinformatik

188.154 Einführung in die Programmierung für Wirtschaftsinformatik Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

CL-Mini-ABF. Kurzbeschreibung. Installation und Vorbereitung. Stand 30.01.2012. Ihre HTK-Filiale Michelstadt

CL-Mini-ABF. Kurzbeschreibung. Installation und Vorbereitung. Stand 30.01.2012. Ihre HTK-Filiale Michelstadt 64720 email : Info@KM-EDV.de Stand 30.01.2012 CL-Mini-ABF Inhaltsverzeichnis Kurzbeschreibung... 1 Installation und Vorbereitung...1 ODBC-Zugriff... 2 ODBC-Einrichtung unter Windows XP...2 ODBC-Einrichtung

Mehr