Daten speichern, ohne Datenbank

Bitte aktiviere JavaScript!
Ich möchte Daten speichern, ohne eine Datenbank dafür zu nutzen, da dies sehr komplex ist und ich noch lange Zeit habe, bis ich es lernen muss.
Java:
 public class Register {
                String vorname = Textfeld_Vorname.getText();
                String nachname = Textfeld_Nachname.getText();
                String email = Textfeld_Email.getText();
                String passwort = Textfeld_Passwort.getText();
                String passwort2 = Textfeld_Passwort2.getText();
                String benutzer = Textfeld_Benutzername.getText();}
Das sind die "Eigenschaften" oder Variablen die ich nutzen möchte. Diese werden über ein Fenster abgefragt, in welchem man die Felder ausfüllen kann und anschließend auf registrieren drückt. Nun weiß ich nicht wie ich die eingegebenen Daten abspeichern und abfragen kann, in meinem Login System. Dazu hat mein Lehrer einen Code geschrieben, welchen ich noch nicht so ganz nachvollziehen konnte und nicht weiß wie ich damit Daten speichern soll.
Java:
public class Benutzer
{
    private String vorname, nachname, benutzername, passwort, email;
    
    public Benutzer (String pBen, String pPwd)
    {
        passwort = pPwd;
        benutzername = pBen;
    }
    
    public String getBen()
    {
        return benutzername;
    }
    
    public String getVorname()
    {
        return vorname;
    }
    
    public String getNachname()
    {
        return nachname;
    }
    
    public String getEmail()
    {
        return email;
    }
    
    public boolean pwdKorrekt(String pPwd)
    {
        return passwort.equals(pPwd);
    }
    
    public void setVorname(String pVorname)
    {
        vorname = pVorname;
    }
    
    public void setNachname(String pNachname)
    {
        nachname = pNachname;
    }
    
    public void setMail (String pMail)
    {
        email = pMail;
    }
}
Was soll ich mit einer neuen Klasse? Und was bringt mir das ganze?
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Also was du da von Deinem Lehrer bekommen hast ist eine einfache Klasse mit einer kleinen Hand voll Variablen mit dazugehörigen Settern und Gettern.

Damit kannst Du dann Instanzen erzeugen zur Laufzeit - um halt zur Laufzeit Daten im Speicher zu haben. Speichern und Laden ist da noch nicht drin.

Wenn es um Speichern und Laden von Objekten geht, dann spricht man meist von Persitenz (Von Wikipedia: "Persistenz (Informatik), in der Informatik die Fähigkeit, Datenstrukturen in nicht-flüchtigen Speichermedien wie Dateisystemen oder Datenbanken zu speichern (Informatik)". Beim eigentlichen Speichern oder laden spricht man von einer Serialisierung (Weil die Daten seriell, also Byte für Byte geladen oder geschrieben werden.)

Wie das mit dem Speichern und Laden geht, kannst Du im Buch "Java ist auch eine Insel" nachlesen:
http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_17_010.htm
 
ArrayList ist erst einmal eine Klasse, die noch einen generischen Typ haben will. Daher gibt man den Typ von den Instanzen, die man speichern will, mit an. Daher das ArrayList<Benutzer> um eine ArrayList zu haben, die Benutzer aufnehmen kann.

Dann kann man auf die ArrayList zugreifen:
- add(Benutzer) fügt einen Benutzer am Ende hinzu
- add(Index, Benutzer) fügt einen Benutzer an die Stelle Index, alle folgenden Einträge verschieben sich damit.
- get(Index) Benutzer, der an dem gegebenen Index ist, abfragen
- remove(Index) Benutzer am angegebenen Index auf der ArrayList entfernen.
- remove(Benutzer) Benutzer aus der ArrayList entfernen
- set(Index, Benutzer) Benutzer an Stelle <Index> überschreiben

Das wären die Haupt-Funktionen, die Du brauchen wirst. Aber Du kannst dir den Link von der letzten Antwort einmal ansehen um zu sehen, was es sonst noch so gibt.
 
Also ich habe ein Fenster wo man sich registrieren kann, für ein Login System. Dort gibt man Vorname, Nachname,Email,Benutzername,Passwort und Passwort wiederholen ein. Wenn ich auf den Knopf registrieren drücke, möchte ich dass die Daten die eingegeben wurden, irgendwo gespeichert werden. Meine Idee war eine Datenbank, aber da es zu komplex ist, habe ich meinen Lehrer gefragt und dieser hat mir dann die Klasse erstellt. Nur leider sehe ich keinen Sinn hinter der Klasse bzw. habe ich keine Ahnung was ich damit anfangen soll. Ich kann mich nur noch daran erinnern, dass ich die Daten mit einer ArrayList speichern kann. Ich hoffe dieses mal war es verständlicher :). Was sind überhaupt Instanzen?
 
Evtl. willst Du das Buch "Java ist auch eine Insel" etwas von Anfang an lesen, um etwas die Basics zu lernen.

Java ist eine Objektorientierte Sprache. Das bedeutet, dass in Java in erster Linie Objekte (=Instanzen) existieren, die miteinander "reden" (Hier ist als Sprachgebrauch üblich: "Sich Nachrichten schicken", aber das kann man grob als Funktionsaufrufe sehen)

Damit man diese Objekte (Instanzen) erzeugen kann, braucht man Baupläne (Klassen). So einen Bauplan hat Dir Dein Lehrer gegeben. Den Bauplan für einen Benutzer. Und mit Hilfe dieses Bauplans kannst Du nun Instanzen erzeugen.

Und so wie im echten Leben hängen viele Objekte zusammen. Du hast ein Bücherregal und in diesem sind dann Bücher. Und das Gute ist, dass Objekte ein Verhalten haben, d.h. ich kann mit dem Bücherregal agieren, z.B.:
>> Bücherregal - gib mir das Buch "Java ist auch eine Insel" <<

Und so ist es auch bei dem "Benutzer":
- Einer Instanz von Benutzer kannst Du sagen: Setz den Vornamen auf "Anton". (setVorname("Anton"))
- Oder: Gib mir den Nachnamen. (getNachname())
...

Was bei Computern nun wichtig ist: Das, was Du machst, ist erst einmal alles nur im Speicher. Also Du öffnest Notepad und schreibst was. Wenn Du den Rechner ausschaltest, ist das Eingegebene weg. Damit es dauerhaft zur Verfügung steht, musst Du es irgendwo Abspeichern, wo es dauerhaft bleiben kann. Beim Editor speicherst du das Eingegebene in eine Datei.

Das kannst Du auch in Java machen. Dazu habe ich Dir auch schon den Link zu dem Java ist auch eine Insel Buch gegeben, wo Du dazu mehr erfährst.
 
Danke für die Erklärung haha, das weiß ich alles schon, wusste allerdings nicht mehr was Instanzen sind. Das Buch liegt neben mir, da hole ich mir all meine Informationen her, sehr empfehlenswert! Danke trotzdem und werde es dann mit der ArrayList probieren.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben