Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

Android Settings zu einem App Project zufügen
Preferences
 
 
Wie fügt man einem bestehenden Projekt in Android Studio komplette Settings als Einstellungen hinzu?
 
Settings oder Einstellungen einer Android App werden unter Android Studio als Preferences gehandelt.
Bei einer existierenden Anwendung kann man entweder manuell den Code für eine Settings-Datei erstellen oder gleich eine Vorlage für Settings aus Android Studio durchlaufen lassen und dann die Settings anpassen.
Am einfachsten sollte es zunächst sein, einfach die Android Studio Stettings-Acitivity komplett hinzuzufügen.
 
Hierzu geht man auf Project->Android->app->new->Activity->Settings Activity

 
 
Im Dialog New Android Activity->Configure Activity Android Studio muss man dann nur noch unter Hierarchical Parent dir Seiten eintragen, auf die der Zurück-Button führen soll
Die Settings-Seite ist eine fast ganz normale Activity Seite und sollte deshalb den Namen haben Activity Name: SettinsActivity
In Package name steht die Package Bezeichnung wie hier de.rue25.a2016_10_07settings

 
Die Einstellung erscheint, sobald man auf die … Erweiterung bei Hierarchical Parent klickt
Dann wählt man normalerweise die MainActivity als Basis-Seite.

 
Eingefügte Settings-Dateien und Elemente:
 
Android Studio fügt dann automatisch einen Rumpf an Dateien und Eintragungen ein.
Dateien: Es werden die folgenden Dateien eingefügt
SettingsActivity
Im Verzeichnis res/xml die Dateien
Pref_data_sync
Pref_general
Pref_headers
Pref_notification.xml

 
 
 
Pref_Headers.xml
Die pref_headers Datei enthält zunächst das zentrale Settings-Verzeichnis, welches erscheint, wenn man die Settings / Preferences anzeigen lässt.
Die _headers Datei ist eine Art Verteiler zu den verschiedenen Settings-Gruppen.
Es zeigt zur Laufzeit die Zeilen General, Notifications und Data & sync

 
Pref_headers.xml

<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">

<!-- These settings headers are only used on tablets. -->

<header
android:fragment="de.rue25.a2016_10_07settings.SettingsActivity$GeneralPreferenceFragment"
android:icon="@drawable/ic_info_black_24dp"
android:title="@string/pref_header_general"/>

<header
android:fragment="de.rue25.a2016_10_07settings.SettingsActivity$NotificationPreferenceFragment"
android:icon="@drawable/ic_notifications_black_24dp"
android:title="@string/pref_header_notifications"/>

<header
android:fragment="de.rue25.a2016_10_07settings.SettingsActivity$DataSyncPreferenceFragment"
android:icon="@drawable/ic_sync_black_24dp"
android:title="@string/pref_header_data_sync"/>

</preference-headers>

 

 
 
Pref_general.xml
Hieraus leitet sich der erste Settings-Block ab mit pref_general
In pref_general findet man ein Beispiel eines On-Off Setting Buttons, eines einfach Setting Textes und einer Text-Auswahl Settings

 
 
Setting-Controls Anzeigetexte einstellen:
 
Die Anzeige Einstellungen der Settings-Controls werden gespeichert in der res/values/strings Datei

 
Die String-Resourcen enthalten alle Text und Anzeige-Elemente bei Setting Controls

 
Das heisst, dass zum Beispiel im Settings-Anzeige-Control als EditTextPreference die Vorgabewerte und der Titel durch die Strings angegeben werden

<EditTextPreference
android:capitalize="words"
android:defaultValue="@string/pref_default_display_name"
android:inputType="textCapWords"
android:key="example_text"
android:maxLines="1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="@string/pref_title_display_name"/>

 

 
Die String-Resourcen geben den Titel vor dem Element und den StandardText an:

 
Anzeigen der Settings-Seite
Wenn man die Settings-Activity in die App eingebunden hat, dann wird diese erst angezeigt, wenn man diese wie eine Activity zur Anzeige bringt.
Intent intent=new Intent(this,SettingsActivity.class);
startActivity(intent);

 
Settings anzeigen
Java Code zum Anzeigen und Öffnen der Settings-Page

public void btnSettings_onClick(View view) {
//----< open settings-header page >-----
Intent intent=new Intent(this,SettingsActivity.class);
startActivity(intent);
//----</ open settings-header page >-----
}

 
 
Lesen von Settings
Wenn man eine Einstellung anschliessend im Programm verwenden möchte, dann muss man den eingestellten Wert wieder zurücklesen.
Hierzu verwendet man unter Android java den PreferenceManager.
Aus diesem heraus erstellt man einen SharedPreferences Klassenobjekt zur Laufzeit
Mit .getString(Settingskey) kann man den Wert aus der Schnittstelle lesen und anschliessend weiterverwenden.

 
 
Man muss somit im lesenden Java Code nur ein SharedPrefernece Objekt erstellen und dieses mit .getString(key) auslesen

public void btnRead_onClick(View view) {
//----< read setting to app >----
SharedPreferences prefs= PreferenceManager.getDefaultSharedPreferences(this);
String sSettig= prefs.getString(
"example_text","xxx");
//----</ read setting to app >----

//< show as message >
Toast.makeText(this,sSettig,Toast.LENGTH_LONG).show();
//</ show as message >
}
 

 
 
 
Video Tutorial

 
Mobile
»
App Settings als App Preferences speichern und lesen
»
Android Settings zu einem App Project zufügen
»
Android Code: Kontakte anfügen mit Person, Email, Telefon mit Batch Operationen
»
Android Studio: Kontakt anfügen mit Hilfe von Android Intent
»
Android Code: Automatisch eine Telefon-Nummer wählen
»
Android App Code: Start Stop von Wlan mit Java Code
»
Android App Code: App soll Wifi anschalten, Intent
»
Android: StartActivity und Intent wie Makros für Apps
»
Android Code: Android Kontakte lesen und in eine ListView speichern
»
Android Java: Angepasste ListView mit eigenem Adapter

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de