안녕하세요


독학으로 다이어리 관련 어플을 만들고 있는 독학생입니다.


pererences 정보값을 얻어오려고 하는데 도무지 값을 불러오질 못해서 질문드립니다.


일단 Preference.java에서 메일주소를 입력해서 data/data/어플리케이션/shared_prefs/pref.xml 에 해당 이메일 주소가 저장되는 것도 확인했습니다.


그런데 Backup.java 의 TextView에 해당 주소를 뿌려주려고 저장된 값을 불러오려니 도무지 되지 않아서 질문을 여쭙습니다.



(※초보에 처녀작이라 코드가 많이 지저분합니다. 죄송합니다.)


[Backup.java]

 package com.android.settingapp;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class BackupActivity extends Activity {
	private final static String KEY_ID = "";
	private TextView emailtext;
	private Preference preference;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		
		setContentView(R.layout.backup);
		((Button) this.findViewById(R.id.bkbtn1)).setOnClickListener(listener);
		((Button) this.findViewById(R.id.bkbtn2)).setOnClickListener(listener);		
		this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);			
		
		emailtext=(TextView)this.findViewById(R.id.emailtext);				
		
		updateFromPreference();			
	}	
	
	private void updateFromPreference(){
		SharedPreferences pref=
				PreferenceManager.getDefaultSharedPreferences(this);
		
		String  msg=String.format("설정된 이메일은"+pref+"입니다.", emailtext);
		emailtext.setText(pref.getString("id", msg));
		}



[Preference.java]


 
  package com.android.settingapp;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Preference extends Activity {	
	private final static String KEY_ID="id";
	private SharedPreferences pref1 = null;
	private EditText idEdit;	
	String ide;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.mailsetting);
		
		this.idEdit=(EditText) this.findViewById(R.id.sttext);
		
		pref1=getSharedPreferences("pref",Activity.MODE_PRIVATE);		
		
		SharedPreferences pref1 = this.getSharedPreferences("pref",
				Context.MODE_PRIVATE);	
		
		String id = pref1.getString("id", "");
		id = pref1.getString("id", "");		
		
		if (id.length() != 0) {
			this.idEdit.setText(id);
		}
		this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
		((Button) this.findViewById(R.id.stbtn1)).setOnClickListener(listener);
	}
	@Override
	protected void onPause() {
		super.onPause();
		ide = idEdit.getText().toString();
		if (ide.length() == 0) {
			return;
		}
		SharedPreferences prefs = this.getSharedPreferences("pref",
				Context.MODE_PRIVATE);
		
		SharedPreferences.Editor editor = prefs.edit();
		editor.putString("id", ide);
		editor.commit();
	}
	
	View.OnClickListener listener = new View.OnClickListener() {
		public void onClick(View v) {
			switch (v.getId()) {
			case R.id.stbtn1:
				Context context = getApplicationContext();
				String text = "메일 설정 완료!!";
				Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
				
				finish();
				
			}
		}
	};
}




Preference.java의 EditText를 통해 입력 저장된 메일주소를 뿌려주려면 위의 코드에서 어떤부분이 잘못된 걸까요? ㅠㅠ