Cloud-Lösungen der Zukunft - Testen!

Revolutionäre Cloud-Technologie, ganz ohne versteckte Kosten. Profitieren Sie von unserer Testphase und entdecken Sie umfassende Funktionen. Der Anmeldeprozess ist transparent und unkompliziert. Starten Sie jetzt Ihre Reise in die Cloud - Kostenfrei!

Android Tutorial: Nutzung des Internen Speichers zur Datenverwaltung

In diesem Beitrag schauen wir uns den internen Speicher von Android an. Android bietet verschiedene strukturierte Möglichkeiten, Daten zu speichern. Dazu gehören:

    • Shared Preferences
    • Interner Speicher
    • Externer Speicher
    • SQLite Speicher
    • Netzwerkverbindungsspeicher (Cloud)

Android Interner Speicher

Der interne Speicher von Android ist der Bereich für private Daten auf dem Gerätespeicher. Standardmäßig sind gespeicherte und geladene Dateien im internen Speicher nur für die Anwendung sichtbar und andere Anwendungen haben keinen Zugriff darauf. Wenn der Benutzer die Anwendung deinstalliert, werden die damit verbundenen Dateien ebenfalls entfernt. Beachten Sie jedoch, dass einige Benutzer ihre Android-Telefone rooten und damit Superuser-Zugriff erhalten, wodurch sie alle Dateien lesen und schreiben können.

Lesen und Schreiben von Textdateien im internen Speicher

Android bietet die Methoden openFileInput und openFileOutput aus den Java I/O-Klassen, um Lese- und Schreibströme zu lokalen Dateien zu verwalten.

      • openFileOutput(): Diese Methode wird verwendet, um eine Datei zu erstellen und zu speichern. Die Syntax lautet:

        FileOutputStream fOut = openFileOutput("dateiname", Context.MODE_PRIVATE);

        Diese Methode gibt eine Instanz von FileOutputStream zurück. Anschließend kann die write-Methode aufgerufen werden, um Daten in die Datei zu schreiben:

        
        
        String str = "Testdaten";
        fOut.write(str.getBytes());
        fOut.close();

      • openFileInput(): Diese Methode wird verwendet, um eine Datei zu öffnen und zu lesen. Sie gibt eine Instanz von FileInputStream zurück. Die Syntax lautet:

        FileInputStream fin = openFileInput("dateiname");

        Anschließend kann die read-Methode aufgerufen werden, um Zeichen für Zeichen aus der Datei zu lesen:

        int c;
        String temp = "";
        while ((c = fin.read()) != -1) {
            temp += Character.toString((char) c);
        }
        fin.close();

        In diesem Code enthält die Variable temp alle Daten der Datei.

Beachten Sie: Diese Methoden akzeptieren keine Dateipfade (z.B. path/to/file.txt), sondern nur einfache Dateinamen.

Beispiel für ein Android-Projekt zur Nutzung des internen Speichers

Die XML-Layoutdatei (activity_main.xml) enthält ein EditText-Feld zum Schreiben von Daten in die Datei sowie einen Schreib- und einen Lesebutton. Die

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Android Read and Write Text from/to a File"
        android:textStyle="bold"
        android:textSize="28sp" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:minLines="5">
        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Write Text into File"
        android:onClick="WriteBtn" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Read Text From file"
        android:onClick="ReadBtn" />
</RelativeLayout>

Die MainActivity enthält die Implementierung des Lese- und Schreibvorgangs:

package com.journaldev.internalstorage;

import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class MainActivity extends Activity {

    EditText textmsg;
    static final int READ_BLOCK_SIZE = 100;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textmsg = (EditText) findViewById(R.id.editText1);
    }

    public void WriteBtn(View v) {
        try {
            FileOutputStream fileout = openFileOutput("mytextfile.txt", MODE_PRIVATE);
            OutputStreamWriter outputWriter = new OutputStreamWriter(fileout);
            outputWriter.write(textmsg.getText().toString());
            outputWriter.close();
            Toast.makeText(getBaseContext(), "File saved successfully!", Toast.LENGTH_SHORT).show();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void ReadBtn(View v) {
        try {
            FileInputStream fileIn = openFileInput("mytextfile.txt");
            InputStreamReader InputRead = new InputStreamReader(fileIn);
            char[] inputBuffer = new char[READ_BLOCK_SIZE];
            String s = "";
            int charRead;
            while ((charRead = InputRead.read(inputBuffer)) > 0) {
                String readstring = String.copyValueOf(inputBuffer, 0, charRead);
                s += readstring;
            }
            InputRead.close();
            textmsg.setText(s);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Eine Toast-Nachricht wird angezeigt, wenn die Daten erfolgreich im internen Speicher gespeichert wurden. Beim Lesen werden die Daten im EditText angezeigt.

Um die Datei zu sehen, öffnen Sie den Android Device Monitor über Tools -> Android -> Android Device Monitor. Die Datei befindet sich im Ordner data -> data -> {Paketname} -> files.

Probieren Sie unsere Cloud-Speicherlösungen kostenlos aus

Sind Sie bereit, die Speicherung Ihrer Daten auf die nächste Stufe zu heben? Registrieren Sie sich heute für eine kostenlose Testversion unserer fortschrittlichen Cloud-Speicherlösungen. Erleben Sie selbst, wie unsere sichere, skalierbare und benutzerfreundliche Cloud Ihre Datenverwaltung revolutionieren kann. Zögern Sie nicht, starten Sie noch heute Ihre kostenlose Testphase!

Try for free!