如何在Android应用程序中存储数据

时间:2014-09-02 09:41:50

标签: java android store

我在这里有一些代码,用户可以在我的布局中使用EditText设置一个值。当用户在文本输入中设置数字并单击“设置”按钮时,EditText输入的值将传输到TextView。这是一些形象。 enter image description here

这是我的XML:

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Text"
        android:textSize="25sp"
        android:id="@+id/textview" />
    <EditText
        android:id="@+id/edittext"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:inputType="number"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Set"
        android:id="@+id/set" />

和java代码:

textview= (TextView)findViewById(R.id.textview);
edittext= (EditText) findViewById(R.id.edittext);
set = (Button) rootView.findViewById(R.id.set);

set.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        textview.setText(edittext.getText().toString());
    }
});

现在我想在重启app或设备后保留“textview”的值,将所有数据保存在内部存储中都很重要。

7 个答案:

答案 0 :(得分:3)

您可以使用SharedPreferences来存储这样的简单数据。如果您需要保存更多金额,请使用数据库。

答案 1 :(得分:1)

第一个Sqlite数据库 Senad SharedPreferences

第三个互联网存储(SdCard)

答案 2 :(得分:1)

使用SharedPreferences并获取进一步的帮助,请查看this

答案 3 :(得分:1)

如果您需要了解有关SharedPreferences Helper Class

的更多信息,请查看此链接

http://developer.android.com/guide/topics/data/data-storage.html#pref

答案 4 :(得分:1)

为了保存这类信息,使用SharedPreferences非常好。这是一种非常简单快捷的数据管理方式。

写:

SharedPreferences preferences = getSharedPreferences("prefData", Context.MODE_WORLD_WRITEABLE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("fristRow",userid.getText().toString());
editor.putString("secondRow",password.getText().toString());
editor.apply();

阅读:

SharedPreferences preferences = getSharedPreferences("prefData", Context.MODE_PRIVATE);
String Astatus = preferences.getString("fristRow", "");

答案 5 :(得分:0)

您可以将SharedPreferences用于此目的

set.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                        textview.setText(edittext.getText().toString());
                        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
                        Editor prefsEditor = prefs.edit();
                        prefsEditor.putString("text_value", edittext.getText().toString());
                        prefsEditor.commit();
                    }
                });

为了读取值

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String textValue = prefs.getString("text_value", "");

答案 6 :(得分:0)

要存储一些简单数据,您可以使用SharedPreferences

  SharedPreferences sp = getSharedPreferences(PRE_NAME, 0);//get the preference object
  SharedPreferences.Editor editor = sp.edit();
  editor.putString("key_here", value_here);//store some value(key-->value)
  editor.commit();//commit the changes

您可以使用sp.getXXXX()来获取存储的数据:

   SharedPreferences sp= getSharedPreferences(PREFS_NAME, 0);
   String storedValue = sp.getString("your_key", default_value);

如果您希望将某些数据存储在结构中,则可以使用SQL Lite。

有关详细信息,请参阅Storage Options