Die Anleitung zu Android Internal Storage

1- Android Internal Storage

Android Internal Storage: ist ein Ort, wo speichert die individuellen Daten jeder Applikation. Diese Daten werden gespeichert und für die eigene Applikation benutzt. Die anderen Applikation können nicht zugreifen. Wenn die Applikation normaleweiser aus dem Gerät Android uninstalliert wird, werden die betreffenden Datenfile auch gelöscht
Ein noch mehr Merkmal beim Umgang mit der Datenfile in der internen Speicherung (Internal Storage) ist, dass Sie mit einem einfachen Filename bearbeiten können, und mit einer File mit einen Pfad nicht bearbeiten

Öffnen Sie die File des Daten-Aufschreiben

// Is a simple file name.
// Note!! Do not allow the path.
String simpleFileName ="note.txt";


// Open Stream to write file.
FileOutputStream out = openFileOutput(simpleFileName, MODE_PRIVATE);
Sie haben 4 Options zum Aufschreibensmodis:
Modus zur File-erstellung Die Bezeichnung
MODE_PRIVATE Das ist Default-Modus, die geschriebene File wird nur von der Applikation, die sie erstellt, benutzt oder mit dem gleichen User ID getauscht
MODE_APPEND Das Modus zum Hinzufügen der Daten in die FIle wenn sie existiert
MODE_ENABLE_WRITE_AHEAD_LOGGING  
MODE_WORLD_READABLE Der Modus ist sehr gefährlich. Er ist ein Sicherheitsloch im Android,es ist am besten, nicht zu benutzen,. Sie können die anderen alternativen Technik 
  • ContentProvider
  • BroadcastReceiver
  • Service
MODE_WORLD_WRITEABLE
MODE_MULTI_PROCESS der Modus zum Multi-Prozess, der in die File schreiben darf. Aber es ist empfohlen, den Modus nicht zu benutzen denn er funktioniert in einigen Version von Android nicht. Sie können die anderen alternative Technik benutzen, zum Beispiel:
  • ContentProvider

Öffnen Sie die File zum Lesen der Daten

// Is a simple file name.
// Note!! Do not allow the path.
String simpleFileName = "note.txt";

// Open stream to read file.
FileInputStream in = this.openFileInput(simpleFileName);

2- Zum Beispiel: die Daten in der internalen Speicherung lesen und schreiben

Jetzt können Sie ein Beispiel zum Aufschreiben der Daten in der File, die im inneren Speicher liegt, und zum Lesen des Daten der File, durch
Erstellen Sie ein Projekt mit dem Name von  InternalStorageDemo.
Die Interface der Applikation
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="org.o7planning.internalstoragedemo.MainActivity">

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        android:id="@+id/editText"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="120dp"
        android:id="@+id/textView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/editText"
        android:layout_alignRight="@+id/editText"
        android:layout_alignEnd="@+id/editText" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Save To File"
        android:id="@+id/button_save"
        android:layout_below="@+id/textView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="43dp"
        android:layout_marginStart="43dp"
        android:layout_marginTop="63dp" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Read File"
        android:id="@+id/button_read"
        android:layout_alignTop="@+id/button_save"
        android:layout_toRightOf="@+id/button_save"
        android:layout_toEndOf="@+id/button_save" />
   
</RelativeLayout>
MainActivity.java
package org.o7planning.internalstoragedemo;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;

public class MainActivity extends AppCompatActivity {

    private Button saveButton;
    private Button readButton;

    private TextView textView;
    private EditText editText;

    // Is a simple file name.
    // Note!! Do not allow the path.
    private String simpleFileName = "note.txt";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        this.saveButton = (Button) this.findViewById(R.id.button_save);
        this.readButton = (Button) this.findViewById(R.id.button_read);
        this.textView = (TextView) this.findViewById(R.id.textView);
        this.editText = (EditText) this.findViewById(R.id.editText);

        this.saveButton.setOnClickListener(new Button.OnClickListener() {

            @Override
            public void onClick(View v) {
                saveData();
            }
        });

        this.readButton.setOnClickListener(new Button.OnClickListener() {

            @Override
            public void onClick(View v) {
                readData();
            }
        });
    }


    private void saveData() {
        String data = this.editText.getText().toString();
        try {
            // Open Stream to write file.
            FileOutputStream out = this.openFileOutput(simpleFileName, MODE_PRIVATE);
            // Ghi dữ liệu.
            out.write(data.getBytes());
            out.close();
            Toast.makeText(this,"File saved!",Toast.LENGTH_SHORT).show();
        } catch (Exception e) {
            Toast.makeText(this,"Error:"+ e.getMessage(),Toast.LENGTH_SHORT).show();
        }
    }

    private void readData() {
        try {
            // Open stream to read file.
            FileInputStream in = this.openFileInput(simpleFileName);

            BufferedReader br= new BufferedReader(new InputStreamReader(in));

            StringBuilder sb= new StringBuilder();
            String s= null;
            while((s= br.readLine())!= null)  {
                sb.append(s).append("\n");
            }
            this.textView.setText(sb.toString());

        } catch (Exception e) {
            Toast.makeText(this,"Error:"+ e.getMessage(),Toast.LENGTH_SHORT).show();
        }
    }

}
Die Applikation laufen
Bei der Benutzung "Android Device Manager" können Sie die File, die im System erstellt werden, sehen
Mehr über  "Android Device Manager" lernen

View more categories: