티스토리 뷰
반응형
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
Shared preferences for creating one time activity
일회성 액티비티 생성을 위한 shared preferences
문제 내용
I have three activities A, B and C where A and B are forms and after filling and saving the form data in database (SQLite). I am using intent from A to B and then B to C. What I want is that every time I open my app I want C as my home screen and not A and B anymore.
저는 A, B, C 세 가지 액티비티가 있는데, 여기서 A와 B는 양식이며 양식 데이터를 채우고 데이터베이스(SQLite)에 저장합니다. 저는 A에서 B로 그리고 B에서 C로 인텐트를 사용하고 있습니다. 제가 원하는 것은 앱을 열 때마다 저는 더 이상 A와 B가 아닌 C를 제 홈 화면으로 원하는 것입니다.
I guess shared preferences would work for this, but I cannot find a good example to give me a starting place.
저는 shared preference가 이것에 효과가 있을 것이라고 생각하지만, 시작점을 줄 좋은 예를 찾을 수 없습니다.
높은 점수를 받은 Solution
Setting values in Preference:
preference에 값 설정:
// MY_PREFS_NAME - a static String variable like:
//public static final String MY_PREFS_NAME = "MyPrefsFile";
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putString("name", "Elena");
editor.putInt("idName", 12);
editor.apply();
Retrieve data from preference:
preference에서 데이터 검색:
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
int idName = prefs.getInt("idName", 0); //0 is the default value.
More info:
추가 정보:
shared preference사용
shared preference
가장 최근 달린 Solution
SharedPreferences mPref;
SharedPreferences.Editor editor;
public SharedPrefrences(Context mContext) {
mPref = mContext.getSharedPreferences(Constant.SharedPreferences, Context.MODE_PRIVATE);
editor=mPref.edit();
}
public void setLocation(String latitude, String longitude) {
SharedPreferences.Editor editor = mPref.edit();
editor.putString("latitude", latitude);
editor.putString("longitude", longitude);
editor.apply();
}
public String getLatitude() {
return mPref.getString("latitude", "");
}
public String getLongitude() {
return mPref.getString("longitude", "");
}
public void setGCM(String gcm_id, String device_id) {
editor.putString("gcm_id", gcm_id);
editor.putString("device_id", device_id);
editor.apply();
}
public String getGCMId() {
return mPref.getString("gcm_id", "");
}
public String getDeviceId() {
return mPref.getString("device_id", "");
}
public void setUserData(User user){
Gson gson = new Gson();
String json = gson.toJson(user);
editor.putString("user", json);
editor.apply();
}
public User getUserData(){
Gson gson = new Gson();
String json = mPref.getString("user", "");
User user = gson.fromJson(json, User.class);
return user;
}
public void setSocialMediaStatus(SocialMedialStatus status){
Gson gson = new Gson();
String json = gson.toJson(status);
editor.putString("status", json);
editor.apply();
}
public SocialMedialStatus getSocialMediaStatus(){
Gson gson = new Gson();
String json = mPref.getString("status", "");
SocialMedialStatus status = gson.fromJson(json, SocialMedialStatus.class);
return status;
}
출처 : https://stackoverflow.com/questions/23024831/shared-preferences-for-creating-one-time-activity
반응형
'개발 > 안드로이드' 카테고리의 다른 글
모든 이전 액티비티 종료하기 (0) | 2023.01.01 |
---|---|
안드로이드에서 커스텀 다이얼로그 박스 만들기 (0) | 2023.01.01 |
액티비티 외부에서 startActivity() 호출하기 (0) | 2022.12.31 |
FragmentPagerAdapter와 FragmentStatePagerAdapter의 차이점 (0) | 2022.12.30 |
onActivityResult에서 잘못된 requestCode 가 넘어오는 문제 (0) | 2022.12.30 |
댓글
공지사항
최근에 올라온 글