[英]How to Store Data in Android Application
I have some codes here that user can set a value using EditText
in my layout. 我在这里有一些代码,用户可以在我的布局中使用
EditText
设置一个值。 When user set number in text input and clicks on "set" button, value of EditText input, transmitted to a TextView
. 当用户在文本输入中设置数字并单击“设置”按钮时,EditText输入的值,传输到
TextView
。 This is some image of that. 这是一些形象。
Here is my XML: 这是我的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" />
And java codes: 和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());
}
});
Now I want to keep value of "textview" after restarting app or device, it's matter to save all my data in internal storage. 现在,我想在重新启动应用程序或设备后保留“ textview”的值,将所有数据保存在内部存储中很重要。
You can use SharedPreferences
to store simple data like that. 您可以使用
SharedPreferences
这样存储简单数据。 If you need to save bigger amounts, use a database. 如果需要节省更多金额,请使用数据库。
first Sqlite databse 第一个Sqlite数据库
Senad SharedPreferences Senad共享首选项
Third internet storage(SdCarc) 第三网络存储(SdCarc)
使用SharedPreferences并获取进一步的帮助来看看这个
Check this link if you need to know more about SharedPreferences Helper Class 如果您需要了解有关SharedPreferences Helper Class的更多信息,请查看此链接
http://developer.android.com/guide/topics/data/data-storage.html#pref http://developer.android.com/guide/topics/data/data-storage.html#pref
For saving of that kind of the information for you is quite nice to use SharedPreferences
. 为了保存这类信息,使用
SharedPreferences
非常好。 This is quite easy and fast way to manage data. 这是一种非常简单快捷的数据管理方式。
To write : 来写 :
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();
To Read : 读书 :
SharedPreferences preferences = getSharedPreferences("prefData", Context.MODE_PRIVATE);
String Astatus = preferences.getString("fristRow", "");
You can use SharedPreferences
for this purpose 您可以为此目的使用
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();
}
});
Inorder to read the value 为了读取值
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String textValue = prefs.getString("text_value", "");
To store some simple data, you can use SharedPreferences 要存储一些简单数据,可以使用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
and you can use sp.getXXXX() to get the data stored: 并且您可以使用sp.getXXXX()来获取存储的数据:
SharedPreferences sp= getSharedPreferences(PREFS_NAME, 0);
String storedValue = sp.getString("your_key", default_value);
If you want some data stored in structure, you can use SQL Lite. 如果要将某些数据存储在结构中,则可以使用SQL Lite。
Please refer to Storage Options for more details. 请参阅存储选项以获取更多详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.