Speichern von Server-Verbindungsdaten (Benutzereingabe)

lordzwieback

lordzwieback

Erfahrenes Mitglied
210
Hallo,

ich habe meiner App eine neue Activity hinzugefügt. Auf dieser Activity befinden sich drei EditText - Elemente. In diese Editboxen sollen Verbindungsdaten (IP, Username, Passwort) eingegeben werden, um sich mit einem FTP Server zu verbinden.

Kann ich die eingegebenen Daten irgendwo hinterlegen, damit der User sie nicht bei jedem Verbindungsversuch komplett neu eintippen muss? Und wenn ja, wie stelle ich das am besten an? Optional auch ohne das Passwort, wenn das sicherheitsrelevante Konsequenzen mit sich ziehen würde.

Schonmal vielen Dank für eure Tipps.

Grüße,
lordzwieback
 
Ach da isser ja wieder :)

a) SharedPreferences
b) Eine Datei ?
c) Sqlite
 
@swa00 Ja klar, ich halte dich auf Trapp. :)

a) Das habe ich beim googlen zu dem Thema auch schon ein paar mal gelesen. Hab es mir aber noch nicht genauer angeschaut.
b) Was steht da zur Wahl? Eine einfache Textdatei, in welche ich die vom Benutzer eingegebenen Strings abspeichere?
c) Habe ich auch schon drüber nachgedacht. Aber extra für diese paar Strings ne DB starten? Ist das nicht ein wenig "überdimensioniert"?

Mal ganz blöd gefragt: Was wäre denn die gängige Praxis in der Androidwelt, wenn es um sowas geht? Wohl die SharedPreferences, oder?
 
zu a) Die SharedPreferences sind standard Funktionen, die Android zur verfügung stellt um z.b. Settings in einer App zu speichern
zu b) Klar File auf, schreiben , file zu ( und umgekehrt)
zu c) Ich arbeite nur mit DB , das ist auch kein "anwerfen", sondern auch eine Lokale Datei , die im SQL Format geschrieben wird und auch die (fast) vollen Funktionen einer grossen Datenbank beinhaltet (sortieren und filtern macht spass) - im übrigen sau schnell
 
Dann werde ich mir a) mal genauer anschauen.
b) ... hmmm mal schauen, vielleicht greife ich auf diese Methode zurück, wenn wirklich garnix funktioniert. Das kommt mir irgendwie doof vor.
c) mit starten meinte ich nicht "anwerfen", habe mich da vllt ein wenig undeutlich ausgedrückt. SQLite kenn ich schon, durfte damit schon eine mehr oder minder größere Datenmenge verwalten. Nur wäre ich jetzt wegen den paar Strings nicht darauf gekommen, eine "Datenbank" zu erstellen. :)

Aber ich glaube ich habe jetzt genügend Anlaufmöglichkeiten, um mich erstmal wieder ne Weile damit zu beschäftigen. Vielen Dank für deine Tipps.
 
Ich habe mich jetzt letztendlich für die SharedPreferences entschieden. War super einfach. Werde morgen früh noch den Code posten.

Danke euch :)
 
Besser spät als nie, hier meine Lösung zur Shared Preference:

In OnCreate()...
Code:
// open shared preferences file
        final SharedPreferences shpref = getSharedPreferences("SP_FTP", 0);
        ftpHost.setText(shpref.getString("host", ""));
        ftpUsername.setText(shpref.getString("username", ""));
        ftpPassword.setText(shpref.getString("password", ""));
        savePass.setChecked(shpref.getBoolean("savepass", false));
        ftpStandardDir.setText(shpref.getString("dir", ""));

In OnStop()...
Code:
// save current values from text boxes
        SharedPreferences shpref = getSharedPreferences("SP_FTP", 0);
        SharedPreferences.Editor editor = shpref.edit();
        editor.putString("host", ftpHost.getText().toString());
        editor.putString("username", ftpUsername.getText().toString());
        if (savePass.isChecked()) {
            editor.putString("password", ftpPassword.getText().toString());
            editor.putBoolean("savepass", true);
        } else {
            editor.putBoolean("savepass", false);
            editor.putString("password", "");
        }
        editor.putString("dir", ftpStandardDir.getText().toString());
        editor.commit();
 

Ähnliche Themen

B
Antworten
6
Aufrufe
1.050
jogimuc
J
Jansenwilson
Antworten
1
Aufrufe
748
swa00
swa00
A
Antworten
10
Aufrufe
1.903
swa00
swa00
Zurück
Oben Unten