EditText 필드에 사용자 항목을 저장하려고하는데 응용 프로그램을 종료 할 때 나타나지 않습니다.Android : SharedPreferences. 올바르게 구현하는 방법
예를 들어 사용자가 이름을 입력 한 다음 응용 프로그램을 종료합니다. 사용자가 애플리케이션을 반환하고 실행하면 사용자 이름이 EditText 필드에 나타납니다. 그러나 나는 이것을 작동시킬 수 없다. sharedPreferences와 관련이 있다고 생각하지만 어디서 잘못 될지 잘 모르겠습니다.
저는 꽤 안드로이드와 자바에 매우 익숙합니다. 어떤 도움이라도 대단히 감사 할 것입니다.
public class MainActivity extends Activity {
public final static String EXTRA_FROM = "com.example.assignment1.FROM";
@Override
protected void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
EditText emailFrom =(EditText) findViewById(R.id.editEmailFrom);
String from = emailFrom.getText().toString();
outState.putString(EXTRA_FROM, from);
}
@Override
protected void onRestoreInstanceState(Bundle savedState)
{
EditText emailFrom =(EditText) findViewById(R.id.editEmailFrom);
String from = savedState.getString(EXTRA_FROM);
emailFrom.setText(from);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void emailSend (View sendButton)
{
Intent intent = new Intent(this,DisplayEmailActivity.class);
EditText emailFrom =(EditText) findViewById(R.id.editEmailFrom);
String from = emailFrom.getText().toString();
intent.putExtra(EXTRA_FROM,from);
SharedPreferences saveFrom = getSharedPreferences(EXTRA_FROM, MODE_PRIVATE);
Editor editor = saveFrom.edit();
editor.putString(EXTRA_FROM, from);
editor.commit();
String storedfrom = saveFrom.getString(EXTRA_FROM, from);
emailFrom.setText(storedfrom);
startActivity(intent);
}
두 번째 활동
public class DisplayEmailActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_email);
Intent intent = getIntent();
String from = intent.getStringExtra(MainActivity.EXTRA_FROM);
TextView textFrom =(TextView)findViewById(R.id.displayEmailFrom);
textFrom.setText(from);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_display_email, menu);
return true;
}
정확히 달성하기를 원하십니까? SharedPreferences는 다음에 응용 프로그램을 시작할 때 액세스 할 수 있도록 일부 데이터를 저장하는 데 사용됩니다. –
Google 검색에서 ... 여기에 관해서는 대단히 일반적인 질문보다 온라인에서 샘플 코드를 찾는 것이 좋습니다. –
사용자가 응용 프로그램을 종료 할 때 양식에 입력 한 내용이 여전히 EditText 필드에 표시 될 것입니다. 예를 들어 "FROM"형식의 경우 사용자가 응용 프로그램을 다시 시작할 때 사용자 이름 "TOM"이 EditText 필드에 저장됩니다. – Calgar99