我想从用户处取得字符串,稍后在应用程序关闭时使用它..现在它只在应用程序在后台时起作用,但当我关闭app..is有办法做到这一点,或者我必须使用SharedPreference,如果我不得不使用它,请解释如何,因为我尝试和失败..感谢很多。即使应用程序关闭,存储字符串
这是我在我的MainActivity代码从EditText上
public class MainActivity extends AppCompatActivity {
private SharedPreferences sharedPreferences;
private static String reminder;
private EditText et;
private Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initialize variables
sharedPreferences = getSharedPreferences("MyPREFERENCES",Context.MODE_PRIVATE);
final SharedPreferences.Editor editor = sharedPreferences.edit();
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et = (EditText) findViewById(R.id.Name);
reminder = et.getText().toString();
if(reminder == null){
reminder = "TWEAK!";
}
editor.putString("TAG",reminder);
editor.commit();
// do stuff
}
// get the user's string
public String getRem() {
reminder = sharedPreferences.getString("TAG", "");
return reminder;
}
应用程序崩溃的字符串,并给出
“尝试调用接口方法“java.lang.String中android.content .SharedPreferences.getString(java.lang.String,java.lang.String)'null object object“
at this line
reminder = sharedPreferences.getString("TAG", "");
这是类,其中i调用的方法
public class Notifications extends BroadcastReceiver {
private String rem;
// set notification
@Override
public void onReceive(Context context, Intent intent) {
// object to access MainActivity methods
MainActivity main = new MainActivity();
rem = main.getRem();
}
,你能否告诉全班(ES)借为[ mcve],而不仅仅是这些小代码样本? 'sharedPreferences'为空,因为它没有被初始化。 –
我添加了我的整个MainActivity类..我只是张贴与我的问题相关的片段 –
请不要添加整个事情,请阅读该链接。并非您添加的所有代码都与SharedPreferences有关。 –