Android Settings Dialog Android Kurs Stufe 2 (Orangegurt)

Größe: px
Ab Seite anzeigen:

Download "Android Settings Dialog Android Kurs Stufe 2 (Orangegurt)"

Transkript

1 Android Kurs Stufe 2 (Orangegurt) Inhaltsverzeichnis 1 Settings Dialog Der Grundgedanke Das erste Beispiel Das Layout der MainActivity Die Settings Activity Das Settings Fragment Das Preferences Layout Der Code der MainActivity Das SharedPreferences Objekt Auslesen der Werte Ändern der Werte Einfügen neuer Werte Listener für geänderte Werte Die einzelnen Preference Elemente Grundeinstellungen Enable / Disable von Settings CheckBoxPreference SwitchPreference ListPreference EditTextPreference Submenü Lizenz Haftung AnPr_Android_Course_2_3_Settings_v01.docx Seite 1

2 1 Settings Dialog Wir haben uns nun die wesentlichen Kenntnisse angeeignet, Android Apps zu designen. Wir können Elemente dem User präsentieren und Informationen wie Klicks und Text vom User abfragen. Wie ihr als Android Nutzer aber wisst, gibt es bei fast allen Apps die Möglichkeit, Einstellungen vorzunehmen dies geschieht üblicherweise über die Settings. In diesem Dokument wollen wir uns die grundlegenden Eigenschaften des Settings Dialogs ansehen und wie wir auf die Einstellungswerte in den Activities zugreifen können. Bevor wir aber beginnen, noch ein kurzer Hinweis zum Thema API Version. Bei den Settings haben wir zwei Optionen entweder wir gehen auf ein API Level < 11, dann müssen wir auf Methoden zurückgreifen, welche als deprecated geflagged wurden, oder man geht auf API Level >= 11, dann hat man die Möglichkeit auf neue Methoden zu gehen, welche nicht als deprecated eingestuft wurden. Im Wesentlichen hat man sich entschieden, die gesamte Struktur der Settings in Zukunft auf Fragments aufzubauen, und das bis dato übliche Verfahren, das Settings Designt direkt in einer Activity laufen zu lassen langsam aus den Apps herauszudrängen. Nach langem Überlegen habe ich mich nun dafür entschieden, mich auf die neue Technologie zu konzentrieren und die Version ab API Level 11 zu erklären, da die Anzahl der alten Geräte langsam nicht mehr relevant ist. Leider muss man hier diese Entscheidung treffen, da die Support Library das Thema PreferenceFragment nicht berücksichtigt. Wer trotzdem sich die old school Variante ansehen möchte, sei auf folgenden Link verwiesen: In diesem Dokument werden wir uns mit den grundlegendsten Techniken der Settings (oder auch Preferences ) beschäftigen. Die weiterführenden Themen in diesem Zusammenhang werden wir auf einen späteren Zeitpunkt schieben, da wir sonst den Orangegurt überladen würden. Noch ein Hinweis zum Thema Design Guidelines. Android hat ein paar sinnvolle Anmerkungen zusammengefasst, wie man Setting Dialoge ansprechend designen soll. Diese findet ihr hier: 2 Der Grundgedanke Der Dialog, in dem die Settings vorgenommen werden, ist erst mal nichts anderes, als eine Activity. Wir werden uns aufgrund der Oben genannten Gründe auf die Activity mit den Fragments konzentrieren wir verwenden PreferenceFragment. Der Grund, warum wir nicht einfach normale Fragments verwenden können liegt in der Tatsache, dass die Preferences in einem gesonderten File abgelegt werden, welches von überall unserer App gelesen werden kann. Hinzu kommt, dass dieses File beim Neustart unserer App neu gelesen wird und somit die alten Einstellungen wieder hergestellt werden. Wir müssen also unsere Einstellungen nicht jedes Mal auf s Neue eingeben. Wie das File heißt und wo es liegt ist für uns als Entwickler erst mal nicht wichtig Android wird sich um alles kümmern. Da das Design für die Preferences immer einheitlich ist, wurde das File in dem die gewünschten Settingswerte enthalten sind und das File, welches für das Layout zuständig ist, zusammengefasst in ein einziges XML File. Wir werden uns in diesem Dokument im Wesentlichen die Möglichkeiten ansehen, welche verschiedenen Einstellungen wir in diesem File machen können. Auch der Zugriff auf die Settings sollte bei allen Apps einigermaßen einheitlich sein. Üblicherweise wird über das OptionsMenu der Dialog zum Einstellen der Settings aufgerufen. Auch dieses Thema werden wir hier behandeln wenngleich wir das OptionsMenu erst mal nur für die Settings betrachten und nicht für die weiteren Möglichkeiten. Auch das werden wir auf später verschieben. Seite 2

3 3 Das erste Beispiel Wir werden nun eine kleine App schreiben, bei der wir einen Settings Dialog realisieren. Vorerst werden wir die Funktionalität recht schmal halten. Wir werden in der MainActivity lediglich ein TextView Element haben, welches anzeigt, ob in den Settings unsere einzige vorhandene Checkbox selektiert ist, oder nicht. 3.1 Das Layout der MainActivity Wir sind inzwischen ja geübt, neue Projekte zu erzeugen. Wir schaffen ein Projekt namens SettingsTest und fügen dort eine MainActivity ein. Diese beinhaltet lediglich eine TextView. Hier das Layout unserer MainActivity (activity_main.xml): <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".mainactivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerhorizontal="true" android:layout_centervertical="true" /> </RelativeLayout> Wie ihr seht ist das nichts Weltbewegendes. Wir haben dem TextView auch nur einen Leerstring zugewiesen (der natürlich in strings.xml auch eingetragen werden muss),da wir den Inhalt unseres TextViews aus den Settings übernehmen müssen. 3.2 Die Settings Activity Wie wir Oben beschrieben haben, werden wir unsere Settings in einer eigenen Activity einbetten, welche das PreferenceFragment beherbergt. Um diese Activity zu erzeugen, müssen wir eine neue Klasse erstellen und sie von der Acitivty Klasse ableiten. Hierbei rufen wir in der oncreate Methode oncreate der Superklasse auf und instanziieren unser Fragment MySettingsFragment als zentraler Inhalt (android.r.id.content das ist eine StandardID für den Inhalt). Das Ganze passiert wie bei Fragments üblich über den FragmentManager (wir erinnern uns wenn wir ab API Level 11 Fragments umsetzen, brauchen wir den getfragmentmanager und nicht den getsupportfragmentmanager): public class MySettingsActivity extends Activity { Seite 3

4 protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); getfragmentmanager().begintransaction().replace( android.r.id.content, new MySettingsFragment()).commit(); Wichtig ist nun noch, dass wir die neue Activity Klasse im Manifest File AnroidManifest.xml registrieren, indem wir im Tag <application> am Ende folgende Konfiguration einfügen: <activity android:name="com.example.settingstest.mysettingsactivity" > </activity> Eclipse wird nun monieren, dass die Klasse MySettingsFragment noch nicht existiert diese werden wir nun nachreichen. 3.3 Das Settings Fragment Der eigentliche Inhalt der Activity wird über ein Fragment dargestellt. Die Besonderheit hier ist, dass wir hier kein normales Fragment verwenden, sondern ein PreferenceFragment. Dieses benötigt kein übliches Layout als Parameter, sondern ein preferneces Layout, welches wir uns im nächsten Kapitel näher ansehen werden. Dort werden wir für unsere Checkbox in dem Preferences Dialog noch einen Namen (eigentlich Key ) festlegen er soll pref_test heißen. Um im Programm später darauf zugreifen zu können definieren wir hier eine Konstante, welche diesen Namen beinhaltet. public class MySettingsFragment extends PreferenceFragment { public static final String KEY_PREF_TEST = "pref_test"; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); addpreferencesfromresource(r.xml.preferences); 3.4 Das Preferences Layout Üblicherweise wird das Layout unseres PreferencesFragment in einem XML File abgelegt, welches sich im Ordner res/xml befindet und preferences.xml heißt. Wir legen also einen neuen Unterordner unter res an und nennen diesen xml. Hier tragen wir ein leeres XML File ein, welches wir wie folgt editieren: <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/ android"> <CheckBoxPreference android:key="pref_test" android:defaultvalue="true" /> </PreferenceScreen> Seite 4

5 Wir tragen also eine Checkbox ein, welche auf den Key pref_test hört. Weiterhin geben wir der Checkbox noch einen Titel das wird der groß geschriebene Text im Settings Dialog sein und eine Summary, was der kleinere Text sein wird. Der Titel bei uns soll My Settings sein und die Summary Do your Settings. Diese Strings müsst ihr natürlich noch in strings.xml eintragen. 3.5 Der Code der MainActivity In der MainActivity lassen wir nun alle Fäden zusammenlaufen. Die oncreate Methode habe ich nicht weiter angepasst das was Eclipse mir eingetragen hat ist OK. Die folgende Methode lassen wir zwar auch unangetastet, ich möchte sie aber an dieser Stelle mal kurz vorstellen. Die oncreateoptionsmenu ist die Methode, welche das Standardmenü erscheinen lässt. Diese Funktion wird bei vielen Android Geräten über die Taste links unten, bzw. wenn keine eigene Taste existiert im Bildschirm unterhalb des ActionMenü rechts oben gestartet. In diesem Standardmenü befindet sich im Regelfall der Settings Eintrag. Wenn diese Methode also existiert, dann können wir mit dem MenuInflater das Standardmenü auf unseren Bildschirm zaubern. public boolean oncreateoptionsmenu(menu menu) { getmenuinflater().inflate(r.menu.activity_main, menu); return true; Das Layout unseres Menüs finden wir unter res/menu im File activity_main.xml: <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:orderincategory="100" android:showasaction="never" </menu> Die einzelnen Bedeutungen der Einträge werden wir uns zu einem späteren Zeitpunkt ansehen, wichtig an dieser Stelle ist nur, dass wir hier ein Menü erzeugen, welches über den Menübutton zustande kommt. Man kann hier noch einen icon (also eine Grafik) reinhängen. Das ganze Thema Menü werde ich in die nächste Gürtelfarbe reinpacken, da wir hier wieder ein paar Dinge bezüglich API Level 11 beachten müssen und das den Orangegurt sprengen würde. Wer vorher sich schon schlau machen will, sei auf diese Links verwiesen: Jetzt haben wir zwar das (zugegebenermaßen sehr einfache) Layout festgelegt. Nun müssen wir nur noch dafür sorgen, dass das Menü auch angezeigt wird. Das erledigen wir über die Methode onoptionsitem- Selected : public boolean onoptionsitemselected(menuitem item) { switch (item.getitemid()) { case R.id.menu_settings: startsettings(); return true; default: return super.onoptionsitemselected(item); Da wir dem Settings Menüeintrag eine ID gegeben haben, können wir identifzieren, über welchen Eintrag die Methode aufgerufen wurde. Üblicherweise packen wir die ganze Funktionalität in eine Switch/Case An- Seite 5

6 weisung hinein, damit wir diesen Teil einfach erweitern können. Um das Settings Menü zu starten, habe ich eine eigene Methode spendiert. Hier starte ich wie sollte es anders sein den Settings Dialog mit Hilfe eines Intents: private void startsettings() { Intent intent = new Intent(); intent.setclass(mainactivity.this, MySettingsActivity.class); startactivity(intent); Nun kommen wir zu der Methode, welche die Settingsinformationen auslesen und in die TextView einbauen soll. Da das Settings Menü unsere MainActivity in den Pausenstatus versetzen wird, können wir davon ausgehen, dass wenn wir aus den Settings wieder rauskommen, die Methode onresume aufgerufen wird. Dies ist also die ideale Stelle, die Settings auszulesen: protected void onresume() { super.onresume(); SharedPreferences sharedpref = PreferenceManager.getDefaultSharedPreferences(this); boolean preftestchecked = sharedpref.getboolean(mysettingsfragment.key_pref_test, false); TextView mytextview = (TextView) findviewbyid(r.id.settingstesttext); mytextview.settext(string.valueof(preftestchecked)); Wir rufen (natürlich) wieder die Methode der Superklasse auf, um die internen Vorgänge zu erlauben. Anschließen holen wir uns die SharedPreferences. Dies ist ein wichtiges Objekt, da es uns ermöglicht die Preferences zu speichern und wieder zu laden. Ich gehe im nächsten Kapitel nochmal kurz auf dieses Objekt ein. Danach hole ich mir die Information, ob die Checkbox in unserem Settings Dialog ausgewählt (checked) ist, oder nicht: SharedPreferences sharedpref = PreferenceManager.getDefaultSharedPreferences(this); boolean preftestchecked = sharedpref.getboolean(mysettingsfragment.key_pref_test, false); Der erste Parameter ist der Key-Wert unseres Settings. Sollten die Settings nicht gefunden worden sein, legen wir noch einen Defaultwert im zweiten Parameter fest ich habe mich hier für false entschieden. Die Information packe ich in eine Boolean Variable, welche ich im Anschluss lediglich in einen String konvertiere und in die TextView hineinschreibe. So, das war es auch schon. Nun können wir die App starten und das Menü aufrufen den Settings Dialog starten und die Checkbox auswählen. Wenn wir die Back Taste drücken sehen wir, dass das false sich nun zu einem true geändert hat. Wenn wir den Vorgang wiederholen und die Checkbox deselektieren, sehen wir wieder ein false. Interessant ist auch, dass wenn wir die App schließen und danach wieder neu starten, der Wert aus dem letzten Lauf der App wiedergefunden wird. Android hat es sich also gemerkt, was wir beim letzten Mal eingestellt haben wir müssen uns also nicht mühsam um irgendwelches Persistieren kümmern! 4 Das SharedPreferences Objekt Wie schon erwähnt, dient das SharedPreferences Objekt dazu, die Statuswerte zu speichern bzw. wieder zu laden. Dabei ist dieses Objekt sehr eng mit unserem PreferenceFragment verknüpft, so dass wir uns nicht um die Details der Persistierung kümmern müssen. Einstellungen im PreferenceFragment werden automatisch in unserem SharedPreferences Objekt und danach im Filesystem abgelegt. Dies kann man zwar mit dem Eintrag PreferenceScreen android:persistent="false" unterbinden, wobei sich dies nicht empfiehlt. Seite 6

7 4.1 Auslesen der Werte Weiterhin ist das SharedPreferences Objekt von jeder Stelle unserer App aufrufbar, da wir es von allen Activities mit Hilfe des PreferenceManager aufrufen können. Ein Aufruf (aus dem vorausgegangenen Kapitel) sieht wie folgt aus: SharedPreferences sharedpref = PreferenceManager.getDefaultSharedPreferences(this); boolean preftestchecked = sharedpref.getboolean(mysettingsfragment.key_pref_test, false); Wichtig ist, dass ihr die einzelnen Keys sauber pflegt und euch eine sinnvolle Namenskonvention überlegt, damit ihr später nicht durcheinander kommt. 4.2 Ändern der Werte Die Werte werden natürlich mit dem Settings Dialog geändert. Es gibt aber auch Möglichkeiten, die Settings programmatisch zu ändern. Da wie bei den Views auch alle XML basierten Elemente in Java Klassen münden, gibt es auch für die einzelnen Preferences Elemente Java Entsprechungen. Wenn wir also unsere Checkbox programmatisch auf true setzen wollen, dann müssen wir lediglich das zugehörige Java Objekt finden und dies auf den gewünschten Wert setzen: CheckBoxPreference checkboxpreftest = (CheckBoxPreference) this.findpreference(mysettingsfragment.key_pref_test); if (checkboxpreftest!= null) { checkboxpreftest.setchecked(true); Wir holen also einfach die Preferences und suchen dort den Preferencewert mit dem gegebenen Key. Wichtig ist, dass die Preferences nur im PreferenceFragment gefunden werden können. Wenn wir von der Activity aus die Settings ändern wollen, können wir mit einem Interface arbeiten, wie wir es bei den normalen Fragments ja bereits gesehen haben. 4.3 Einfügen neuer Werte In dem SharedPreferences Objekt können auch andere Werte abgelegt werden, welche nicht im Settings Dialog eingestellt werden. Dies kann sinnvoll sein, wenn interne Programmstatuswerte nicht verloren gehen dürfen. Hierfür benötigen wir einen Editor für die Preferences. Wir ergänzen unsere Activity wie folgt: public void ondestroy() { super.ondestroy(); SharedPreferences sharedpref = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor myeditor = sharedpref.edit(); myeditor.putstring(key_pref_dyn, "my dynamic value"); myeditor.commit(); Wir erzeugen uns einen Editor, indem wir mit der edit() Methode diesen Editor einer Variablen zuweisen. Dies startet auch automatisch eine Transaktion, welche wir am Ende mit commit() abschließen müssen. Mit Hilfe dieses Editors können wir nun einen neuen Wert eintragen. Ich habe mich für einen Stringwert entschieden, der einen eindeutigen Key-Wert benötigt, den wir in der Activity Klasse festlegen müssen: public static final String KEY_PREF_DYN = "pref_dynamic"; In der onresume Methode ergänzen wir unseren Code nun wie folgt wir lesen nach dem Checkbox Wert auch unseren neuen dynamischen Wert ein und schreiben anschließend nicht nur den boolschen Wert in unser Textfeld, sondern auch noch unseren dynamischen Settingswert: Seite 7

8 String prefdynvalue = sharedpref.getstring(key_pref_dyn, "empty"); mytextview.settext(string.valueof(preftestchecked) + " " + prefdynvalue); Wie ihr sehen werdet, wird unser TextView Element beim nächsten Starten unserer App den Text false empty anzeigen (sofern die Checkbox zuletzt deselektiert war), da wir den dynamischen Settingswert noch nicht eingetragen haben und somit der Defaultwert greift. Wenn wir allerdings die App beenden, wird on- Destroy aufgerufen und der dynamische Wert in die Settings eingetragen. Beim nächsten App Start wird nun der Wert gefunden und das TextView Element wird anzeigen false my dynamic value. Wir können folgende einfache Datentypen in unser SharedPreferences Objekt eintragen: Datentyp: boolean float int long String Set<String> Methode: putboolean(key, value); putfloat(key, value); putint(key, value); putlong(key, value); putstring(key, value); putstringset(key, value); Set ist eine Sammlung von Strings, welche wie folgt instanziiert wird: Set<String> set = new HashSet<String>(); Im set können nun mit add Werte eingetragen werden, welche wir als entsprechende Liste im SharedPreferences Objekt speichern und wieder herauslesen können. Beim Lesen können wir aus dem HashSet ein Array erzeugen. 4.4 Listener für geänderte Werte Der letzte Punkt für unser SharedPreference Objekt ist der OnSharedPreferenceChangeListener. Dieser wird aktiv, wenn ein Setting geändert wurde. Folgende Funktionalität soll dies verdeutlichen wenn unsere Checkbox selektiert ist, soll ein anderer Summarytext angezeigt werden, als wenn sie nicht selektiert ist. Wir definieren zuerst unsere Strings im strings.xml: <string name="pref_test_summ">check for displaying true</string> <string name="pref_test_summ_checked"> Uncheck for displaying false</string> Danach implementieren wir den Listener in unser MySettingsFragment: public class MySettingsFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener { public void onsharedpreferencechanged(sharedpreferences sharedpreferences, String key) { if (key.equals(key_pref_test)) { setsummarytext( (CheckBoxPreference)findPreference(KEY_PREF_TEST)); Die Methode onsharedpreferencechanged wird wie immer von Eclipse per Mausklick implementiert. Wir ergänzen lediglich den Code, der für den Tausch des SummaryTexts zuständig ist. Diesen habe ich in eine eigene Methode eingefügt, welche sich um die Anzeige des richtigen Texts kümmert. Damit wir auch beim Seite 8

9 erstmaligen Aufruf des Settings Dialogs den richtigen Text zu sehen bekommen, rufen wir diese Methode auch beim oncreate auf: public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); addpreferencesfromresource(r.xml.preferences); setsummarytext((checkboxpreference)findpreference(key_pref_test)); Die Methode ist relativ einfach gestrickt und sollte uns keine Probleme bereiten: private void setsummarytext(checkboxpreference mycheckbox) { if (mycheckbox!= null) { if (mycheckbox.ischecked()){ mycheckbox.setsummary(r.string.pref_test_summ_checked); else { mycheckbox.setsummary(r.string.pref_test_summ); Es wird zuerst geprüft, ob der Aufrufer das Preference Element auch wirklich gefunden hat. Anschließend wird geprüft, ob die Checkbox selektiert ist und demensprechend wird der richtige String als Summary eingesetzt. Was nun noch fehlt ist, den Listener zu registrieren. Da wir diesen Listener wirklich nur dann brauchen, wenn wir aktiv mit dem Settings Dialog arbeiten, registrieren wir ihn in der onresume Methode und entfernen ihn wieder in der onpause Methode: public void onresume() { super.onresume(); getpreferencescreen().getsharedpreferences(). registeronsharedpreferencechangelistener(this); public void onpause() { super.onpause(); getpreferencescreen().getsharedpreferences(). unregisteronsharedpreferencechangelistener(this); 5 Die einzelnen Preference Elemente Nun haben wir die wichtigsten Elemente kennengelernt, um die Settings in unser Programm einzubauen, wobei wir als Beispiel eine Checkbox verwendet haben. Wir wollen uns in den nächsten Kapiteln eine Auswahl an möglichen anderen Settings Elementen ansehen und die wichtigsten Einstellungen. 5.1 Grundeinstellungen Zuerst kommt natürlich der key Eintrag, ohne den wir keinen eindeutigen Zugriff auf unsere Preferences haben. Es empfiehlt sich auch für jeden Settings Eintrag einen Default Value zu setzen, was im Prinzip der Anfangszustand ist. Weiterhin kennt jedes Element zumindest die beiden Werte Title und Summary. Title ist die im großen Text geschriebene Überschrift und die Summary die etwas kleiner geschriebene Zusammenfassung unterhalb der Überschrift. Seite 9

10 Den Code dazu haben wir weiter Oben schon kennengelernt der Vollständigkeit halber hier nochmal die XML Definition im preferences.xml File: <CheckBoxPreference android:key="pref_test" android:defaultvalue="true" /> Zusätzlich ist es manchmal noch sinnvoll eine Grafik mit einzubinden. Dies erfolgt über das icon Attribut: Der Einfachheit halber habe ich hier das Drawable ic_launcher genommen, da es standardmäßig von Eclipse bereits eingefügt wurde. 5.2 Enable / Disable von Settings Settingelemente können aktiviert und deaktiviert sein. Dies kann man mit zweierlei Methoden ermöglichen. Zuerst die einfachere die Abhängigkeiten. Es gibt gewisse Settings, welche nur dann sinnvoll gesetzt werden können, wen ein anderes Setting auf true steht. Zur Verdeutlichung ergänzen wir unser preferences.xml File wie folgt: <CheckBoxPreference android:key="pref_test" android:defaultvalue="true" <CheckBoxPreference android:key="pref_test2" android:defaultvalue="true" android:dependency="pref_test"/> Wichtig ist hier der Eintrag android:dependency="pref_test". Wir geben hier an, dass es eine Abhängigkeit zwischen dem pref_test2 und dem pref_test gibt und zwar wird dies dergestalt interpretiert, dass pref_test2 nur dann aktiv ist, wenn pref_test ausgewählt ist. Sobalt pref_test keinen Haken mehr hat, ist pref_test2 inaktiv. Eine zweite Möglichkeit ist es, die Elemente programmatisch zu aktivieren, bzw. deaktivieren. Wie wir eine Referenz auf die Checkbox bekommen haben wir in den Oberen Kapiteln gesehen. Deaktivieren können wir das Element wie folgt: mycheckbox.setenabled(false); Wenn wir den Status auf Aktiv setzen wollen, dann müssen wir als Parameter lediglich true setzen. Wir können auch programmatisch feststellen, ob das Element aktiv ist: mycheckbox.isenabled() 5.3 CheckBoxPreference Wie wir in den oberen Beispielen schon gesehen haben, ist die CheckBoxPreference recht einfach umsetzbar. Den XML Code werde ich an dieser Stelle nicht nochmal wiederholen, einfach im vorausgehenden Kapitel nochmal reinschauen. Die wichtigsten Java Methoden haben wir auch schon gesehen. Hier möchte ich jedoch die zwei wichtigsten kurz ansprechen: Seite 10

11 Methode:.isChecked().setChecked(value) Beschreibung: Liefert true zurück, wenn die Checkbox selektiert ist, sonst false Wenn value auf true steht, wird die Checkbox selektiert, wenn value auf false steht, wird sie deselektiert. Alle weiteren Methoden können unter folgenden Links ersehen werden: SwitchPreference Die SwitchPreference ist prinzipiell nichts anderes als eine Checkbox, nur dass sie optisch anders dargestellt ist. In den Java Klassen kann man dies daran erkennen, dass beide eine Ableitung der Klasse TwoStatePreference sind. Der Code sieht entsprechend einfach aus: <SwitchPreference android:key="pref_test3" android:defaultvalue="true" /> Die beiden Elemente switchtexton und switchtextoff sind optional. Wenn sie nicht vorhanden sind, wird der Text des Schiebers On und Off sein. Mit diesen beiden Elementen können wir den Text sprachlich individualisieren. Die Methoden der Java Klasse sind identisch mit denen der Checkbox: Methode:.isChecked().setChecked(value) Beschreibung: Liefert true zurück, wenn die Checkbox selektiert ist, sonst false Wenn value auf true steht, wird die Checkbox selektiert, wenn value auf false steht, wird sie deselektiert. Auch hier findet ihr die notwendigen zusätzlichen Infos im Netz: Alle weiteren Methoden können unter folgenden Links ersehen werden: Wer es ganz indiviuell haben möchte, kann sich die View, welche mit dem Switch verbunden ist auch individuell zusammenbauen und über das Attribut android:layout auch laden. Da dies hier aber zu weit führen würde, muss ich an dieser Stelle lediglich auf die API verweisen. 5.5 ListPreference Ein auch recht häufig anzutreffendes Element bei den Settings ist die ListPreference. Dies ist im Wesentlichen ein Feld von Radio Buttons. Dieses öffnet sich als Subdialog und listet alle vorher definierten Werte auf. Diese müssen aber zuvor definiert werden. Dies geschieht in einem String Array, welche auch in einem Array festgelegt werden können. Hierzu erzeugen wir im Ordner res/values das File array.xml und schreiben folgendes rein: <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="pref_list_example_disp"> <item>wert A</item> <item>wert B</item> Seite 11

12 <item>wert C</item> </string-array> <string-array name="pref_list_example_values"> <item>0</item> <item>1</item> <item>2</item> </string-array> </resources> Wir haben somit zwei verschiedene String Arrays geschaffen. Das erste ist für die Anzeige der Werte im Dialog (wenn wir mehrsprachig arbeiten, so muss dieser Bereich entsprechend in die sprachspezifischen Unterordner wir erinnern uns an den Gelbgurt). Das zweite Array steht für die Werte, welche beim Auswählen hinterlegt werden. Dies muss für eine saubere Sprachunabhängigkeit gewährleistet sein! Weiterhin müssen wir nun unser strings.xml File mit folgenden Werten ergänzen: <string name="pref_list_default">2</string> <string name="pref_list_title">select values</string> <string name="pref_list_summ">click for opening the dialog</string> Hier finden wir die Werte für unseren Titel und der Summary. Was wir hier auch hinterlegen ist der Defaultwert, welcher nicht der Anzeigewert, sondern der hinterlegte, sprachunabhängige Wert sein muss. In unserem preferences.xml File fügen wir das Element nun ein;: <ListPreference android:key="pref_list_example" Wie wir sehen, fügen wir neben den üblichen Attributen nun die Einträge als Referenzen auf unsere neu erzeugten Arrays ein dies gilt für unser Anzeigewerte (android:entries), als auch für unsere hinterlegten Werte (android:entryvalues). Der sich öffnende Dialog kann noch weiter konfiguriert werden, wobei ich an dieser Stelle hierauf nicht weiter eingehen möchte. Hier noch die wichtigsten Methoden: Methode: Beschreibung:.getEntryValues() Liefert ein Array von CharSequence Werten, welche die Werte des entryvalues Array beinhaltet..findindexofvalue(value) Gibt die Indexposition des gegebenen Wertes (entsprechend des Arrays aus getentryvalues)..getvalue().setvalue(value) Gibt den Wert aus, der gerade ausgewählt ist. Setzt den Wert, der gerade ausgewählt ist auf value, wobei dieser Teil des Arrays aus getentryvalues sein muss. Alle weiteren Infos, wie immer im Netz: Seite 12

13 5.6 EditTextPreference Das letzte Element in dieser Reihe welches ich besprechen möchte ist das EditTextPreference Element. Es ist zwar relativ selten, dass man wirklich Texteingaben machen möchte, aber hin und wieder kommt man hier nicht drum rum. Prinzipiell ist das EditTextPreference Feld genauso zu nutzen wie eine Kombination eines EditText Views und einer normalen Preference View. Um dies zu verdeutlichen setzen wir mal ein Edit- TextPreference um, welches nur Ziffern akzeptiert. Zuerst erweitern wir die strings.xml: <string name="pref_text_default">15</string> <string name="pref_text_title">enter number</string> <string name="pref_text_summ">click for opening the dialog</string> Danach fügen wir in preferences.xml folgenden Eintrag ein: <EditTextPreference android:key="pref_edittext_test" android:inputtype="number"/> Wie wir sehen, können wir auch hier einen inputtype vorgeben. Die Javamethoden sind ebenfalls keine Überraschung. Methode:.getText().setText(value) Beschreibung: Liefert den eingegebenen Text zurück. Belegt den eingegebenen Text neu mit dem Wert value. Weitere Details findet ihr unter Submenü Wenn zu viele Settings in einem Dialog vorgesehen sind empfiehlt es sich, diesen aufzuteilen. Die einfachste Möglichkeit bietet das Einsetzen eines weiteren PreferenceScreens. Dieser wird lediglich in den bereits existierenden PreferenceScreen eingebettet: <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <CheckBoxPreference android:key="pref_test" android:defaultvalue="true"/> <PreferenceScreen android:key="pref_subscreen" <SwitchPreference android:key="pref_test3" </PreferenceScreen> </PreferenceScreen> Seite 13

14 Wie ihr seht, bekommt der innere PreferenceScreen auch einen Titel und eine Summary. Ansonsten wird der innere PreferencesScreen genauso gehandhabt, wie der äußere es können beliebige Elemente eingefügt werden. Wenn ihr die App startet, dann werdet ihr die altbekannte Checkbox sehen und einen weiteren Eintrag. Wenn ihr auf diesen Klickt, dann öffnet sich der Subscreen und ihr seht dort die inneren Elemente (in unserem Fall nur das SwitchPreferences Element. Seite 14

15 6 Lizenz Diese(s) Werk bzw. Inhalt von Maik Aicher (www.codeconcert.de) steht unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. Eclipse and the Eclipse Logo are trademarks of Eclipse Foundation, Inc. "Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners." 7 Haftung Ich übernehme keinerlei Haftung für die Richtigkeit der hier gemachten Angaben. Sollten Fehler in dem Dokument enthalten sein, würde ich mich über eine kurze Info unter freuen. Seite 15

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

Ü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

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

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

Mobile App Development. - Activities -

Mobile App Development. - Activities - Mobile App Development - Activities - Inhalt Activity Lifecycle Erstellen Starten & Stoppen Spezielle Activities Ac3vi3es Ac3vi3es Definition Eine Aktivität repräsentiert eine Interaktion mit einem Benutzer

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

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

PRAXISBUTLER ANPASSUNG DER VORLAGEN

PRAXISBUTLER ANPASSUNG DER VORLAGEN Praxisbutler Anpassung der Vorlagen 1 PRAXISBUTLER ANPASSUNG DER VORLAGEN Die Vorlagen werden hauptsächlich in den Bereichen Klienten und Fakturierung benutzt. Die Anpassung dieser Vorlagen ist wichtig,

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

TYPO3 Redaktoren-Handbuch

TYPO3 Redaktoren-Handbuch TYPO3 Redaktoren-Handbuch Kontakt & Support: rdv interactive ag Arbonerstrasse 6 9300 Wittenbach Tel. 071 / 577 55 55 www.rdvi.ch Seite 1 von 38 Login http://213.196.148.40/typo3 Username: siehe Liste

Mehr

Layouts Übersicht. FrameLayout Vermeiden. TableLayout. LinearLayout. FrameLayout Vermeiden. FrameLayout: Links oben. LinearLayout.

Layouts Übersicht. FrameLayout Vermeiden. TableLayout. LinearLayout. FrameLayout Vermeiden. FrameLayout: Links oben. LinearLayout. Layouts Übersicht FrameLayout Vermeiden Alles links oben Standard Horizontal und vertikal, nebeneinander Verschachteln (kann langsam werden) TableLayout nur für Tabellen GridLayout Geordnetes Layout Neuer

Mehr

Alerts für Microsoft CRM 4.0

Alerts für Microsoft CRM 4.0 Alerts für Microsoft CRM 4.0 Benutzerhandbuch Der Inhalt des Dokuments ist Änderungen vorbehalten. Microsoft und Microsoft CRM sind registrierte Markenzeichen von Microsoft Inc. Alle weiteren erwähnten

Mehr

Arbeiten mit Objekten

Arbeiten mit Objekten Seite 31 von 48 Arbeiten mit Objekten Ein Objekt kann eine neue Webseite mit Unterseiten enthalten, die in der Navigation aufgelistet werden können; andererseits gibt es je nach Website Objekte, die dynamisch

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

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

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

MySQL Installation. AnPr

MySQL Installation. AnPr Name Klasse Datum 1 Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall

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

Outlook 2000 Thema - Archivierung

Outlook 2000 Thema - Archivierung interne Schulungsunterlagen Outlook 2000 Thema - Inhaltsverzeichnis 1. Allgemein... 3 2. Grundeinstellungen für die Auto in Outlook... 3 3. Auto für die Postfach-Ordner einstellen... 4 4. Manuelles Archivieren

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Einführung in Android

Einführung in Android Einführung in Android FH Gießen Friedberg 12. Oktober 2010 Inhalt Historie / Prognosen / Trends Grundlagen Entwicklungsumgebung Standardbeispiel Erweitertes Beispiel Übung / Quellen 2 Grundlagen - Historie

Mehr

Eclipse 3.0 (Windows)

Eclipse 3.0 (Windows) Eclipse Seite 1 Eclipse 3.0 (Windows) 1. Eclipse installieren Eclipse kann man von der Webseite http://www.eclipse.org/downloads/index.php herunterladen. Eclipse ist für Windows, Mac und Linux erhältlich.

Mehr

Einkaufslisten verwalten. Tipps & Tricks

Einkaufslisten verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Grundlegende Informationen 3 1.2 Einkaufslisten erstellen 4 1.3 Artikel zu einer bestehenden Einkaufsliste hinzufügen 9 1.4 Mit einer Einkaufslisten einkaufen 12 1.4.1 Alle

Mehr

Android Einführung Fragments Android Kurs Stufe 2 (Orangegurt)

Android Einführung Fragments Android Kurs Stufe 2 (Orangegurt) Android Kurs Stufe 2 (Orangegurt) Inhaltsverzeichnis 1 Fragments... 2 2 Der Life Cycle eines Fragments... 2 3 Die Supportlibrary oder das Problem mit der Version... 3 4 Aufbau der Layouts... 4 5 OnClickListener...

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

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

Der Website-Generator

Der Website-Generator Der Website-Generator Der Website-Generator im Privatbereich gibt Ihnen die Möglichkeit, schnell eine eigene Website in einheitlichem Layout zu erstellen. In Klassen, Gruppen und Institutionen können auch

Mehr

Erste Schritte mit LimeSurvey Pädagogische Hochschule Heidelberg

Erste Schritte mit LimeSurvey Pädagogische Hochschule Heidelberg 1 Dieses Script ist als Schnellstart gedacht, um das Prinzip von LimeSurvey zu verstehen. Zahlreiche Optionen stehen zur individuellen Erstellung von Umfragen zur Verfügung ein ausführliches Benutzerhandbuch

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

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

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

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

. TYPO3-Plug-in u:cris

. TYPO3-Plug-in u:cris . TYPO3-Plug-in u:cris Zentraler Informatikdienst der Universität Wien Stand: Jänner 2014 TYPO3-Version 4.5 Dieses Handbuch ist eine Übersicht zum Einsatz des TYPO3-Plug-ins u:cris. Naturgemäß würde die

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

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications Windows 8 Systemsteuerung > Programme > Windows Features aktivieren / deaktivieren > Im Verzeichnisbaum

Mehr

Neues Projekt anlegen... 2. Neue Position anlegen... 2. Position in Statikdokument einfügen... 3. Titelblatt und Vorbemerkungen einfügen...

Neues Projekt anlegen... 2. Neue Position anlegen... 2. Position in Statikdokument einfügen... 3. Titelblatt und Vorbemerkungen einfügen... FL-Manager: Kurze beispielhafte Einweisung In dieser Kurzanleitung lernen Sie die wichtigsten Funktionen und Abläufe kennen. Weitere Erläuterungen finden Sie in der Dokumentation FLManager.pdf Neues Projekt

Mehr

Folgende Aktionen müssen für ein neues Fotoalbum ausgeführt werden:

Folgende Aktionen müssen für ein neues Fotoalbum ausgeführt werden: Hier kannst du ein neues Fotoalbum erstellen. Das Fotoalbum-Modul lässt das Administrieren direkt auf der Homepage (Frontend) nicht zu, deshalb musst du dich nochmals mit deinem User und Passwort an der

Mehr

OP 2005: Änderungen Mailimport

OP 2005: Änderungen Mailimport OP 2005: Änderungen Mailimport 02.01.2008 Dokumentation Original auf SharePoint Doku zu OP 2005 JT-Benutzerkonfiguration - EMail In dieser Registerkarte können Sie die E-Mail-Konfiguration, des Benutzers

Mehr

Terminland Free / Terminland Easy Schnellstart

Terminland Free / Terminland Easy Schnellstart Dokumentation: V 10.04.0 Datum: 22.12.2014 Inhaltsverzeichnis 1. Einführung... 3 2. Hilfe... 3 3. Online-Terminbuchung... 4 3.1. Aufruf der Online-Terminbuchung... 4 3.2. Aufruf des internen Terminmanagers...

Mehr

HTL-Website. TYPO3- Skriptum II. Autor: RUK Stand: 02.06.2010 Gedruckt am: - Version: V0.1 Status: fertig. Qualitätsmanagement

HTL-Website. TYPO3- Skriptum II. Autor: RUK Stand: 02.06.2010 Gedruckt am: - Version: V0.1 Status: fertig. Qualitätsmanagement HTL-Website TYPO3- Skriptum II Autor: RUK Stand: 02.06.2010 Gedruckt am: - Version: V0.1 Status: fertig Qualitätsmanagement Erstellt Geprüft Freigegeben Name RUK Datum 02.06.2010 Unterschrift Inhaltsverzeichnis

Mehr

Quickstart IMS Custom-Player Pro

Quickstart IMS Custom-Player Pro Quickstart IMS Custom-Player Pro Jedes IMS-MDN (Media Delivery Network) Konto bietet zum Abspielen von Flash Videos den Standard IMS Custom Player. Dieser Player wird von uns auf einem hoch performanten

Mehr

NetMan Desktop Manager Quick-Start-Guide

NetMan Desktop Manager Quick-Start-Guide NetMan Desktop Manager Quick-Start-Guide In diesem Dokument wird die Installation von NetMan Desktop Manager beschrieben. Beachten Sie, dass hier nur ein Standard-Installationsszenario beschrieben wird.

Mehr

Erweiterung für Premium Auszeichnung

Erweiterung für Premium Auszeichnung Anforderungen Beliebige Inhalte sollen im System als Premium Inhalt gekennzeichnet werden können Premium Inhalte sollen weiterhin für unberechtigte Benutzer sichtbar sein, allerdings nur ein bestimmter

Mehr

Favoriten speichern und verwalten im Internetexplorer 7.x

Favoriten speichern und verwalten im Internetexplorer 7.x Favoriten speichern und verwalten im Internetexplorer 7.x Klaus-Dieter Käser Andreas-Hofer-Str. 53 79111 Freiburg Fon: +49-761-292 43 48 Fax: +49-761-292 43 46 www.computerschule-freiburg.de kurse@computerschule-freiburg.de

Mehr

Dokumentation: Balanced Scorecard

Dokumentation: Balanced Scorecard Dokumentation: Balanced Scorecard 1. Einleitung Eine Balanced Scorecard (BSC) ist eine kennzahlenbasierte Managementmethode, welche sowohl Visionen als auch Strategien eines Unternehmens und relevante

Mehr

5.5 Schaltflächen und Menüs

5.5 Schaltflächen und Menüs 68 5 Oberflächengestaltung Texte definieren Um die Verweise auf Ressourcen aufzulösen, definieren wir die Texte in der Datei /res/values/strings.xml. Dort legen wir die folgenden Einträge an:

Mehr

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Lieferschein Lieferscheine Seite 1 Lieferscheine Seite 2 Inhaltsverzeichnis 1. STARTEN DER LIEFERSCHEINE 4 2. ARBEITEN MIT DEN LIEFERSCHEINEN 4 2.1 ERFASSEN EINES NEUEN LIEFERSCHEINS 5 2.1.1 TEXTFELD FÜR

Mehr

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck W-LAN einrichten Access Point Konfiguration Diese Anleitung gilt für den Linksys WAP54G. Übersicht W-LAN einrichten... 1 Access Point Konfiguration... 1 Übersicht... 1 Vorbereitung... 1 Verbindung aufnehmen...

Mehr

Erste-Schritte VP 5.1

Erste-Schritte VP 5.1 In diesem Dokument werden wichtige Einstellungen beschrieben, die vorgenommen werden müssen, wenn mit einer leeren Planung begonnen wird. Inhaltsverzeichnis Erstellung einer leeren Planung...1 Wichtige

Mehr

Access Verbrecherdatenbank Teil 1

Access Verbrecherdatenbank Teil 1 Access Verbrecherdatenbank Teil 1 Allgemeines In dieser Übung erstellst du mit Microsoft Access eine Verbrecherdatenbank. Dabei lernst du die wesentlichen Elemente einer Datenbank wie Tabellen, Formulare

Mehr

orgexterndoc31 Inhaltsverzeichnis Einleitung... 1 Installation... 3 Grundinstallation... 3 Installation pro Arbeitsplatz... 6 Lizenzierung... 7 Benutzung Einzeldokument... 9 1. Möglichkeit:... 9 2. Möglichkeit...

Mehr

Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems

Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Android Persistenz Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 3 besprechen (inkl. Repetition) Die wichtigsten

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

Installieren und Einrichten von VirtualBox für TAPPS (V1.0)

Installieren und Einrichten von VirtualBox für TAPPS (V1.0) Installieren und Einrichten von VirtualBox für TAPPS (V1.0) 1 Einleitung... 2 2 Download und Installation... 2 3 Einrichten von VirtualBox am Beispiel Windows XP... 7 4 Einrichten von Windows XP... 26

Mehr

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

1 Zugang zum GIT Repository

1 Zugang zum GIT Repository 1 Zugang zum GIT Repository Der Zugang zum GIT Repository ist je nach Berechtigung unterschiedlich. Es gibt für jeden einen read-only Zugang, der Link dazu ist im Repository sichtbar, welcher sich auf

Mehr

FÜR GOOGLE ANDROID OPERATING SYSTEM. Dokumentation. Version 1.2013. 2013 NAM.IT Software-Entwicklung Alle Rechte vorbehalten.

FÜR GOOGLE ANDROID OPERATING SYSTEM. Dokumentation. Version 1.2013. 2013 NAM.IT Software-Entwicklung Alle Rechte vorbehalten. FÜR GOOGLE ANDROID OPERATING SYSTEM Dokumentation Version 1.2013 2013 NAM.IT Software-Entwicklung Alle Rechte vorbehalten. 1 Information Diese Dokumentation beschreibt die Funktionen der kostenpflichten

Mehr

MEHR FUNKTIONEN, MEHR E-COMMERCE:

MEHR FUNKTIONEN, MEHR E-COMMERCE: MEHR FUNKTIONEN, MEHR E-COMMERCE: XT:COMMERCE PLUGIN BB ENRICHED SITEMAP XT:COMMERCE PLUGIN BB ENRICHED SITEMAP Das Plugin Blackbit Enriched Sitemap reichert den Export-Feed für die Google-Sitemap mit

Mehr

NovaTec. Konfigurationsanleitung RMCS

NovaTec. Konfigurationsanleitung RMCS NovaTec Konfigurationsanleitung RMCS Version 1.1 / Stand: 09.09.2011 Änderungen vorbehalten copyright: 2011 by NovaTec Kommunikationstechnik GmbH Technologiepark 9 33100 Paderborn Germany Inhaltsverzeichnis

Mehr

Versand von Einladungen zur Teilnahme an der Umfrage mit Seriendruck Funktion von Microsoft Office 2007

Versand von Einladungen zur Teilnahme an der Umfrage mit Seriendruck Funktion von Microsoft Office 2007 Versand von Einladungen zur Teilnahme an der Umfrage mit Seriendruck Funktion von Microsoft Office 2007 [Eine Schritt für Schritt Anleitung] Inhalt 1. Erstellen einer Liste mit Probandendaten... 2 2. Erstellung

Mehr

Einführung in Android (2) 16. Dezember 2014

Einführung in Android (2) 16. Dezember 2014 Einführung in Android (2) 16. Dezember 2014 Überblick Entwicklung der Benutzeroberfläche Views Layouts Menüs Listen und Adapter Einbinden weiterer Ressourcen Aktivierung von Activities Entwicklungsrichtlinien

Mehr

ODD-TV². ... die zukunftssichere Lösung für den modernen Wettanbieter! www.bookmaker5.com

ODD-TV². ... die zukunftssichere Lösung für den modernen Wettanbieter! www.bookmaker5.com ODD-TV²... die zukunftssichere Lösung für den modernen Wettanbieter! Arland Gesellschaft für Informationstechnologie mbh - Irrtümer und Änderungen vorbehalten. Version 5.7.6 - /05/2010 Handbuch ODD-TV

Mehr

Praktikum Software Engineering

Praktikum Software Engineering Praktikum Software Engineering Verwendung von Enterprise Architect Pascal Weber, David Kulicke KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Android Processes & Services

Android Processes & Services Android Processes & Services Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 4 besprechen (inkl. Repetition)

Mehr

Tutorial Erste Schritte

Tutorial Erste Schritte Tutorial Erste Schritte IBO Internet Software OHG Bernhard-Hahn Str. 30 41812 Erkelenz Tel. 02431 9451440 Fax 02431 9451439 ibo@shoppilot.de www.shoppilot.de Tutorial ShopPilot 1 Tutorial: Erste Schritte

Mehr

Handbuch TweetMeetsMage

Handbuch TweetMeetsMage Handbuch TweetMeetsMage für Version 0.1.0 Handbuch Version 0.1 Zuletzt geändert 21.01.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Voraussetzungen... 3 1.2 Funktionsübersicht... 3 2 Installation... 4

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

Konvertieren von Settingsdateien

Konvertieren von Settingsdateien Konvertieren von Settingsdateien Mit SetEdit können sie jedes der von diesem Programm unterstützten Settingsformate in jedes andere unterstützte Format konvertieren, sofern Sie das passende Modul (in Form

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

Starten der Software unter Windows 7

Starten der Software unter Windows 7 Starten der Software unter Windows 7 Im Folgenden wird Ihnen Schritt für Schritt erklärt, wie Sie Ihr persönliches CONTOUR NEXT USB auf dem Betriebssystem Ihrer Wahl starten und benutzen. Schritt 1. Stecken

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

Sortieren des Zubehörs (Content)

Sortieren des Zubehörs (Content) Dies ist eine Anleitung der Künstlerin und Autorin Efyriel von Tierstein (kurz: EvT) Die Anleitung ist nur für den privaten Gebrauch gedacht und EvT übernimmt keine Garantien dafür, dass eine Arbeit nach

Mehr

bla bla Guard Benutzeranleitung

bla bla Guard Benutzeranleitung bla bla Guard Benutzeranleitung Guard Guard: Benutzeranleitung Veröffentlicht Mittwoch, 03. September 2014 Version 1.0 Copyright 2006-2014 OPEN-XCHANGE Inc. Dieses Werk ist geistiges Eigentum der Open-Xchange

Mehr

So erstellen bzw. ändern Sie schnell und einfach Texte auf der Aktuelles -Seite Ihrer Praxishomepage

So erstellen bzw. ändern Sie schnell und einfach Texte auf der Aktuelles -Seite Ihrer Praxishomepage Anleitung zum Einpflegen von Praxisnachrichten auf LGNW Praxishomepages Stand: 15.September 2013 So erstellen bzw. ändern Sie schnell und einfach Texte auf der Aktuelles -Seite Ihrer Praxishomepage 1.

Mehr

FlowFact Alle Versionen

FlowFact Alle Versionen Training FlowFact Alle Versionen Stand: 29.09.2005 Brief schreiben, ablegen, ändern Die FlowFact Word-Einbindung macht es möglich, direkt von FlowFact heraus Dokumente zu erzeugen, die automatisch über

Mehr

RÖK Typo3 Dokumentation

RÖK Typo3 Dokumentation 2012 RÖK Typo3 Dokumentation Redakteur Sparten Eine Hilfe für den Einstieg in Typo3. Innpuls Werbeagentur GmbH 01.01.2012 2 RÖK Typo3 Dokumentation Inhalt 1) Was ist Typo3... 3 2) Typo3 aufrufen und Anmelden...

Mehr

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel ralf_gitzel@hotmail.de

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel ralf_gitzel@hotmail.de JSP JSTL JEE Vorlesung Teil 6 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Wiederholung / Vertiefung JSTL Grundlagen JSTL Basisbefehle Templates über JSTL

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

A B A S T A R T Kurz-Anleitung

A B A S T A R T Kurz-Anleitung A B A S T A R T Kurz-Anleitung April 2015 / OM Version 2.0 Diese Unterlagen sind urheberrechtlich geschützt. Insbesondere das Recht, die Unterlagen mittels irgendeines Mediums (grafisch, technisch, elektronisch

Mehr

Inhaltsverzeichnis. 1 Grundsätzliche Überlegung. 2 Hinweis zur Installation

Inhaltsverzeichnis. 1 Grundsätzliche Überlegung. 2 Hinweis zur Installation Inhaltsverzeichnis 1 Grundsätzliche Überlegung...1 2 Hinweis zur Installation...1 3 Konfiguration von AutoDocument...2 3.1 Erfassung der Listeneinträge...2 3.2 Hinterlegung von Notizen...3 3.3 Definition

Mehr

Zugang Gibbnet / Internet unter Windows

Zugang Gibbnet / Internet unter Windows Zugang Gibbnet / Internet unter Windows Inhalt 1 Inhalt des Dokuments... 2 1.1 Versionsänderungen... 2 2 Windows 10... 3 2.1 Info für erfahrene Benutzer... 3 2.2 Windows 10... 3 2.3 Einstellungen Internetbrowser

Mehr

Wie verwende ich Twitter in MAGIC THipPro

Wie verwende ich Twitter in MAGIC THipPro Wie verwende ich Twitter in MAGIC THipPro Konfigurationsanleitung Version: V1-10. August 2015 by AVT Audio Video Technologies GmbH Registrierung der Social Media Option Stellt die Social Media Option allen

Mehr

ANLEITUNG ZUR HANDHABE DES RESSOURCEN-KATALOGES

ANLEITUNG ZUR HANDHABE DES RESSOURCEN-KATALOGES ANLEITUNG ZUR HANDHABE DES RESSOURCEN-KATALOGES Nun ist es soweit der Online-Ressourcen-Katalog geht in seiner ersten Testversion in eingeschränktem Benutzer-Umfeld online. Wie funktioniert nun dieser

Mehr

Installation von sonogdt

Installation von sonogdt Installation von sonogdt Installieren Sie sonogdt am Server bzw. Hauptrechner Ihrer Praxis in eine lokale Festplattenpartition, keinesfalls in eine Freigabe oder ein verbundenes Laufwerk. Behalten Sie

Mehr

DS-WIN-NET ANLEITUNG. Version: 1.1. Pionier der Zahnarzt-Software. Seit 1986.

DS-WIN-NET ANLEITUNG. Version: 1.1. Pionier der Zahnarzt-Software. Seit 1986. DS-WIN-NET ANLEITUNG Pionier der Zahnarzt-Software. Seit 1986. 1 Inhaltsverzeichnis 1. Vorwort 1 2. Den vorhandenen Webserver für DS-Win-NET anpassen 2 3. Aktivierung des DS-Win-NET im DS-Win-Termin 3

Mehr

Erzherzog Johann Jahr 2009

Erzherzog Johann Jahr 2009 Erzherzog Johann Jahr 2009 Der Erzherzog Johann Tag an der FH JOANNEUM in Kapfenberg Was wird zur Erstellung einer Webseite benötigt? Um eine Webseite zu erstellen, sind die folgenden Dinge nötig: 1. Ein

Mehr

Multivariate Tests mit Google Analytics

Multivariate Tests mit Google Analytics Table of Contents 1. Einleitung 2. Ziele festlegen 3. Einrichtung eines Multivariate Tests in Google Analytics 4. Das JavaScript 5. Die Auswertung der Ergebnisse Multivariate Tests mit Google Analytics

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

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

Tipps & Tricks ArCon. Schriftfeldmakro. Informationszeitschrift der DI KRAUS & CO GesmbH Seite 18 Im Konstruktionsmodus ist in der rechten unteren Ecke des Blattes ein Schriftfeld zu sehen. Dieses können Sie verändern, indem Sie doppelt darauf klicken. Nun haben Sie, je nach Schriftfeld, verschiedene

Mehr

Password Depot für Android

Password Depot für Android Password Depot für Android * erfordert Android Version 2.3 oder höher Oberfläche... 3 Action Bar... 3 Overflow-Menü... 3 Eintragsleiste... 5 Kontextleiste... 5 Einstellungen... 6 Kennwörterdatei erstellen...

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

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 [Matthias Hupfer, Steffen Hippeli] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu-sharing.com

Mehr

EASY Archive for Salesforce HANDBUCH INSTALLATION UND BEDIENUNG DER APP. Stand: 12.04.2016 Version: Version 1.0

EASY Archive for Salesforce HANDBUCH INSTALLATION UND BEDIENUNG DER APP. Stand: 12.04.2016 Version: Version 1.0 EASY Archive for Salesforce HANDBUCH INSTALLATION UND BEDIENUNG DER APP Stand: 12.04.2016 Version: Version 1.0 Inhaltsverzeichnis 1 Installation... 3 1.1 Link zum Listing der App im Salesforce AppExchange...

Mehr

Securepoint Security Systems

Securepoint Security Systems HowTo: Virtuelle Maschine in VMware für eine Securepoint Firewall einrichten Securepoint Security Systems Version 2007nx Release 3 Inhalt 1 VMware Server Console installieren... 4 2 VMware Server Console

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Um mit IOS2000/DIALOG arbeiten zu können, benötigen Sie einen Webbrowser. Zurzeit unterstützen wir ausschließlich

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

SixCMS 6 Tutorial - Content-Manager. So erfassen Sie Inhalte mit SixCMS

SixCMS 6 Tutorial - Content-Manager. So erfassen Sie Inhalte mit SixCMS SixCMS 6 Tutorial - Content-Manager So erfassen Sie Inhalte mit SixCMS Inhalt Inhalt So erfassen Sie Inhalte mit SixCMS 3 Zu diesem Tutorial 3 Ablageort definieren 5 Content-Container erstellen 6 Einträge

Mehr