개발하다 보면 APP을 종료해도 저장되있는? 그런 저장 공간이 필요하다.


예를들어 환경설정에서 설정한 내용을 저장해서 APP을 실행할 때 저장한 설정 내용을 불러오거나 


간단한 데이터를 저장해 놓앗다가 가져오거나 할 때 preference를 사용하면 편리하다


/////////////////////////////////////////////////////////

Preferences.java


public class Preferences {

protected SharedPreferences preferences;
protected SharedPreferences.Editor editor;

public Preferences(Context context) {
this.preferences = context.getSharedPreferences("APPNameData", context.MODE_PRIVATE);
this.editor = this.preferences.edit();
}

public boolean getBoolean(String key) {
return this.preferences.getBoolean(key, false);
}

public boolean getBoolean(String key, boolean defValue) {
return this.preferences.getBoolean(key, defValue);
}

public void putBoolean(String key, boolean value) {
this.editor.putBoolean(key, value);
this.editor.commit();
}

public String getString(String key) {
return this.preferences.getString(key, "");
}

public String getString(String key, String defValue) {
return this.preferences.getString(key, defValue);
}

public void putString(String key, String value) {
this.editor.putString(key, value);
this.editor.commit();
}
//밑으로는 실제로 사용할 데이터 get set

public boolean isPushIdInsert() {
return this.getBoolean("PUSH_STATE_INSERT", false);
}

public void setPushIdInsert(boolean value) {
this.putBoolean("PUSH_STATE_INSERT", value);
}

public String getMainWebUrl() {
return this.getString("MAIN_WEB_URL", "def_data_str");
}

public void setMainWebUrl(String value) {
this.putString("MAIN_WEB_URL", value);
}

}




//////////////////////////////////////////////////////////////////////

MainActivity.java


public class MainActivity extends AppCompatActivity{

private Preferences preference;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

preference = new Preferences(this);
 

//사용법
setupWebview(preference.getMainWebUrl());

//preference에 저장되어있는 MainWebUrl String을 가져온다

}

}




'공부 > Android' 카테고리의 다른 글

(Android) drawable 이미지 관리  (0) 2016.03.21
(Android) class 이름 가져오기  (0) 2016.03.20
(에러) Default Activity not found  (1) 2016.03.08
(Android) 키 해시 구하기  (1) 2016.03.07
(Android) WebView 사용법  (0) 2016.03.06

+ Recent posts