로그인이 한 번 발생하고 동기화를 제외하고 대부분 오프라인 상태로 유지되는 android 애플리케이션에 대한 표준 세션 처리 방법이 있습니까? (우리는 세션을 응용 프로그램의 시작과 종료로 정의합니다. 세션은 로그인 및 로그 아웃에 의존하지 않습니다.)오프라인 앱에 대한 세션을 유지하는 방법 android
답변
Android의 공유 응용 프로그램 환경 설정을 사용하여 세션 저장소, 나는 대부분의 안드로이드 응용 프로그램에서 사용하는 완전한 PreferenceHandler 클래스를 공유하고 여기 ,
public class PreferenceHelper {
SharedPreferences preferences;
Context context;
Editor editor;
public static final String PREFERENCES_NAME = "YourApplicationName";
public PreferenceHelper(Context context) {
preferences = context.getSharedPreferences(PREFERENCES_NAME,
Context.MODE_PRIVATE);
}
public void addPreference(String key, String value) {
editor = preferences.edit();
editor.putString(key, value);
editor.commit();
}
public void addPreference(String key, Set<String> values) {
editor = preferences.edit();
editor.putStringSet(key, values);
editor.commit();
}
public void addPreference(String key, int value) {
editor = preferences.edit();
editor.putInt(key, value);
editor.commit();
}
public void addPreference(String key, float value) {
editor = preferences.edit();
editor.putFloat(key, value);
editor.commit();
}
public void addPreference(String key, boolean value) {
editor = preferences.edit();
editor.putBoolean(key, value);
editor.commit();
}
public void addPreference(String key, long value) {
editor = preferences.edit();
editor.putLong(key, value);
editor.commit();
}
public void editPreference(String key, String value) {
editor = preferences.edit();
if (preferences.contains(key)) {
editor.remove(key);
}
addPreference(key, value);
}
public void editPreference(String key, Set<String> value) {
editor = preferences.edit();
if (preferences.contains(key)) {
editor.remove(key);
}
addPreference(key, value);
}
public void editPreference(String key, int value) {
editor = preferences.edit();
if (preferences.contains(key)) {
editor.remove(key);
}
addPreference(key, value);
}
public void editPreference(String key, float value) {
editor = preferences.edit();
if (preferences.contains(key)) {
editor.remove(key);
}
addPreference(key, value);
}
public void editPreference(String key, boolean value) {
editor = preferences.edit();
if (preferences.contains(key)) {
editor.remove(key);
}
addPreference(key, value);
}
public void editPreference(String key, long value) {
editor = preferences.edit();
if (preferences.contains(key)) {
editor.remove(key);
}
addPreference(key, value);
}
public String getStringValue(String key) {
String value = preferences.getString(key, "");
return value;
}
public Set<String> getValues(String key) {
Set<String> values = preferences.getStringSet(key, null);
return values;
}
public int getIntValue(String key) {
int value = preferences.getInt(key, -1);
return value;
}
public boolean getBooleanValue(String key) {
boolean value = preferences.getBoolean(key, false);
return value;
}
public float getFloatValue(String key) {
float value = preferences.getFloat(key, -1);
return value;
}
public Long getLongValue(String key) {
Long value = preferences.getLong(key, -1);
return value;
}
public void removeKey(String key) {
preferences.edit().remove(key);
preferences.edit().commit();
}
public void clearAllPreferences() {
preferences.edit().clear();
preferences.edit().commit();
}
}
단순히이 클래스의 객체를 만들 전화 응용 프로그램에서이를 사용하려면,
PreferenceHelper preferences=new PreferenceHelper(getApplicationContext());
당신이 세그먼트 또는 기타 서브 레이아웃 사용이 방법을 사용하는 경우,
PreferenceHelper preferences = new PreferenceHelper(getActivity().getApplicationContext());
다음은 어떻게에서 값을 설정하는 내 로그인 요구 사항에 대한 당
if (preferences.getBooleanValue("is_logged")) {
preferences
.addPreference("last_login", DateHelper.getCurrentDate());
startActivity(new Intent(this, MainActivity.class));
finish();
}
을이 사용하고의 예입니다 기본 설정은 내가 로그인 할 때이 방법, 로그인 방법의 사용이에서 ,이 질문을 해결할 수
preferences.addPreference("is_logged", true);
preferences.addPreference("email", email);
preferences.addPreference("user_name", username);
preferences.addPreference("password", password);
preferences.addPreference("last_login",
DateHelper.getCurrentDate());
int uid = JsonHelper.getReturnID(result);
boolean is_admin, is_manager;
is_admin = JsonHelper.getBoolean(result, "is_admin");
is_manager = JsonHelper.getBoolean(result, "is_manager");
preferences.addPreference("is_admin", is_admin);
preferences.addPreference("is_manager", is_manager);
preferences.addPreference("uid", uid);
String phone, name;
phone = JsonHelper.getStringFromResult(result, "phone");
name = JsonHelper.getStringFromResult(result, "name");
preferences.addPreference("phone", phone);
preferences.addPreference("name", name);
startActivity(new Intent(StartingActivity.this,
MainActivity.class));
희망을 사용하고 있습니다.
답장을 보내 주셔서 감사합니다. 안드로이드에 세션 ID를 만드는 표준 방법이 있는지 찾아 보았습니다. 응용 프로그램을 실행 한 다음 서버에 동기화하십시오. – shanu
안드로이드에서 사용할 수있는 표준 방법은 없습니다. 코드를 수동으로 처리하기 만하면됩니다. –
- 1. phonegap에서 세션을 유지하는 방법 android app
- 2. Android : 다시 버튼으로 세션을 유지하는 방법?
- 3. JSch : 세션을 유지하는 방법
- 4. 안드로이드 로그인 세션을 유지하는 방법
- 5. 안드로이드에서 세션을 유지하는 방법?
- 6. phoneGap에서 세션을 유지하는 방법
- 7. 세션을 유지하는 방법
- 8. android에서 세션을 유지하는 방법
- 9. Tomcat이 세션을 유지하는 방법
- 10. asp.net에서 세션을 유지하는 방법
- 11. Meteor.js 앱에 대한 오프라인 이미지 업로드
- 12. 스프링에서 로그인 세션을 유지하는 방법
- 13. iPhone의 UIwebview에서 세션을 유지하는 방법
- 14. WCF 서비스에서 세션을 유지하는 방법
- 15. SoapClient - PHP에서 세션을 유지하는 방법
- 16. 클라이언트 서버 앱에서 세션을 유지하는 방법
- 17. 세션을 유지하는 방법은 무엇입니까?
- 18. 앱에 대한 Android 라이선스
- 19. Android 앱에 대한 설명
- 20. Android 앱에 대한 구독
- 21. Android에서 앱에 대한 정보를 유지하는 방법은 무엇입니까?
- 22. 하이브리드 앱에서 세션을 유지하는 방법은 무엇입니까?
- 23. [PhoneGap] 세션을 유지하는 방법은 무엇입니까?
- 24. WebAPI를 사용하여 나머지 API에 대한 지속적인 로그인 세션을 유지하는 방법
- 25. Android 앱에 대한 세부 정보 설정 방법
- 26. Android : Media Player에 대한 참조를 유지하는 방법?
- 27. 공유 환경 설정을 사용하여 세션을 유지하는 방법
- 28. NGINX : 최소한의 연결로 끈적 세션을 유지하는 방법
- 29. Android 클라이언트에서 세션을 유지하는 쿠키를 사용하는 방법은 무엇입니까?
- 30. jQuery 또는 javascript를 사용하여 세션을 유지하는 방법
http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/ –