package com.example.devicehive.android.client.sample; import android.content.Context; import android.content.SharedPreferences; import android.os.AsyncTask; public class SampleClientPreferences { private final static String NAMESPACE = "devicehive."; private final Context context; private final SharedPreferences preferences; private final static String KEY_SERVER_URL = NAMESPACE .concat(".KEY_SERVER_URL"); private final static String KEY_USERNAME = NAMESPACE .concat(".KEY_USERNAME"); private final static String KEY_PASSWORD = NAMESPACE .concat(".KEY_PASSWORD"); public SampleClientPreferences(final Context context) { this.context = context; this.preferences = context.getSharedPreferences( context.getPackageName() + "_devicehiveprefs", Context.MODE_PRIVATE); } public String getServerUrl() { return preferences.getString(KEY_SERVER_URL, null); } public String getUsername() { return preferences.getString(KEY_USERNAME, null); } public String getPassword() { return preferences.getString(KEY_PASSWORD, null); } public void setServerUrlSync(String serverUrl) { SharedPreferences.Editor editor = preferences.edit(); editor.putString(KEY_SERVER_URL, serverUrl); editor.commit(); } public void setCredentialsSync(String username, String password) { SharedPreferences.Editor editor = preferences.edit(); editor.putString(KEY_USERNAME, username); editor.putString(KEY_PASSWORD, password); editor.commit(); } public void setCredentialsAsync(final String username, final String password) { new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void... params) { setCredentialsSync(username, password); return null; } }.execute(); } }