Config erstellen - Brainstorming

R4M

R4M

Neues Mitglied
4
Dieses mal mal eine allgemeine Sache. Ich möchte auch gar keine Code-Schnipsel haben, es geht mehr oder weniger um Gedanken.

In meiner App habe ich zahlreiche Einstellungen, die sich im Laufe des Betriebes ändern können. Nun stehe ich vor dem Problem wie das ganze speichern? Config-Datei ala config.ini, config.properties, XML oder etwas mit SQL?

So sollen zum Beispiel bestimmte Sortier- und Filterfunktionen als Parameter gespeichert und beim nächsten Start als Vorgaben geladen werden - praktisch nur Strings. So dass die App mit den letzten Einstellungen startet.

Wie macht ihr das?
 
Hallo R4M,
es gibt die Preferences - also Standard.

Da man allerdings zwischendurch mit "merkwürdigem" Verhalten rechnen muss,.
bin ich mittlerweile hingegegangen und habe mir eine Singleton Sqlite klasse geschrieben.

Diese übernehme ich in alle Projekte (Copy & Paste) und habe seitdem ruhe im Karton.
(Oder wie bei mir in einem Library-Modul)

Ist zwar ein ganz klein wenig mehr arbeit am Anfang , aber danach Seelenfrieden

Dahin kannst du die z.b. schreiben
File appDir = getExternalStorageDirectory(); ( + dein packagefolder)
SQLiteDatabase database = new SQLiteHelper(mContext,appDir.toString()+ "/settings.db").getWritableDatabase();
 
Zuletzt bearbeitet:
R2M ist jemand anderes :)

Ja, dachte aber da auch so in Richtung XML-File - einfach und relativ unkompliziert. Habe aber schon mit SQL „geliebäugelt“. Letztlich wäre eine Lösung schon toll, wo man nur das speichern braucht was gespeichert werden muss - also nicht alles.
 
Ok ich addiere 2 dazu :) R4M :)

Hoppel BITTE nicht wieder in die falsche Richtung - mach dir einen Sqlite Wrapper und gut iss

Und ganz wichtig , bevor du irgendwie mit dieser Sache beginnst :

Eigne dir Singleton an - denn das ist das Nächste, womit du hier aufschlägst, da deine
Vorkenntnisse mit zu 100% Wahrscheinlichkeit dich an die nächste Wand bringen wird.

Und auch bitte diesen Tip nicht wieder ignorieren :)
 
  • Danke
Reaktionen: R4M
swa00 schrieb:
die nächste Wand bringen wird

Nach fast 20 Jahren Programmierung bin ich einiges gewöhnt und abgehärtet :) Und ja, vermutlich wird es auch in Richtung SQLite gehen.
 
Also wir benutzen oft einfach einen Wrapper für die SharedPrefs.
 
Feedback:

Das mit SQLite war ein super Vorschlag. Hab nun meine Allzweckwaffe für Einstellungen in der App.
 
swa00 schrieb:
Eigne dir Singleton an - denn das ist das Nächste, womit du hier aufschlägst, da deine
Vorkenntnisse mit zu 100% Wahrscheinlichkeit dich an die nächste Wand bringen wird.

Und auch bitte diesen Tip nicht wieder ignorieren :)

Denn Tipp darfst du ruhig ignorieren. Wenn du so etwas unbedingt brauchst, dafür gibt es die Klasse Application. Application | Android Developers
Aber eigentlich kommt man fast immer ohne diese Design-Pattern über die Runde.
 
Hallo Markus :)

das musst du jetzt doch mal erklären -

Inwiefern hat Application mit Design Pattern zu tun ?

Ich wollte ausschliesslich auf die Verwendung von Singleton raus , ohne ohne Diese komme ich gar nicht mehr aus

Warum sollte er - rein aus Interesse - auf Singelton Klassen verzichten ???
 
a) Ob man ein Singleton benutzt ist Geschmackssache. Hängt auch ein bisschen von Programmierstil ab. Ich gebrauche es fast nie.
Es gibt auch ein paar Leute, die meinen es sei ein Anti-Pattern. Wenn du mal Zeit hast, google mal danach.
Meiner Meinung kann man Singleton relativ leicht unübersichtlichen Code produzieren.
b) Applikation. Am besten du liest die Doku von Google selber durch, steht eigentlich alles drin. Man hat so die Möglichkeit, Daten in einem globalen Kontext zu speichern (Ist ein Singleton).
Application | Android Developers
 
ok ok, ich gehe auch von einer ganz anderen Sichtweise da ran :)

Ich arbeite sehr viel mit Modulen/Libraries und da ist es ein Segen , wenn du jedem Modul eine übergeordnete "Init" Klasse
als SingleTon gibst ...
 

Ähnliche Themen

5
Antworten
0
Aufrufe
1.151
586920
5
R
Antworten
6
Aufrufe
1.016
swa00
swa00
W
Antworten
2
Aufrufe
744
rene3006
R
Zurück
Oben Unten