hi I'm trying to save the EditText widget values in the internal memory of the phone/tablet so that they can be retrieved automatically by the app when it closes or the activity stops. All off this will work using a save button.(The values of the widget are inputed by the user).
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You should use the shared preference ,shared preference is used to store the data in locally app whenever need you can access it . use this link https://www.journaldev.com/9412/android-shared-preferences-example-tutorial
to use it. after on button click you can get the value . its help me
回答2:
If you want to save single value like name, address, phone_no etc then use SharedPreferences
or want to save like same value multiple times then use Sqlite
.
References : Sqlite , SharedPreferences
回答3:
public class MainActivity extends AppCompatActivity {
private Button button;
private EditText editText;
private final String KEY = "edittextValue";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.edittext);
editText.setText(getValue());
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveFromEditText(editText.getText().toString());
}
});
}
private String getValue() {
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
String savedValue = sharedPref.getString(KEY, ""); //the 2 argument return default value
return savedValue;
}
private void saveFromEditText(String text) {
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString(KEY, text);
editor.apply();
}
}