Tag: 共享偏好

Android SharedPreferences示例

我正在尝试学习SharedPreferences,但是我收到了一个错误。 我的布局有一个按钮,它反映了方法doThis 这是我的java: package com.example.sharedprefs; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class MainActivity extends Activity { int i = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void doThis (View view){ i++; SharedPreferences sharedPref = getSharedPreferences(“FileName”,MODE_PRIVATE); SharedPreferences.Editor prefEditor = sharedPref.edit(); prefEditor.putInt(“userChoice”,i); prefEditor.commit(); int number = sharedPref.getInt(“userChoice”, 0); […]

SharedPreferences无法跨活动工作

我正在尝试在一个活动中保存一些filter/状态,然后在下一个活动中使用该数据。 我正在使用SharedPreferences,但它没有像我预期的那样工作。 public class FilterActivity extends Activity { private static final String TAG = FilterActivity.class.getName(); EditText distanceEditor; @Override public void onPause() { super.onPause(); SharedPreferences preferences = getSharedPreferences(PreferenceKey.FILTER_PREFERENCES_NAME, MODE_WORLD_READABLE); String distance = distanceEditor.getText().toString(); preferences.edit().putString(PreferenceKey.DISTANCE, distance); preferences.edit().commit(); Log.i(TAG, “Wrote max-distance=” + distance); Log.i(TAG, “Preferences contains distance=” + preferences.getString(PreferenceKey.DISTANCE, “FAIL”)); } public static class PreferenceKey { public static […]

getDefaultSharedPreferences上的NullPointerException

我正在基于开发人员指南创建一个PreferenceFragment ,但是当我尝试恢复保存的用户首选项时,我在onCreate()的getDefaultSharedPreferences()调用中得到一个NullPointerException 。 我从xml中扩充了PreferenceFragment ,我也设置了默认值。 getDefaultSharedPreferencesName()中的getDefaultSharedPreferences()抛出exception。 这是PreferenceFragment类: public class SettingsFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener { public static final String KEY_MAX_WALK_DISTANCE_PREFERENCE = “max_walk_distance_preference”; public static final String KEY_MAX_SEARCH_TIME_PREFERENCE = “max_search_time_preference”; Context context = getActivity(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.preferences); // load user preferences SharedPreferences sharedPreferences […]

java.lang.IllegalStateException:初始化之前使用的Orca SharedPreferences

我在我的应用程序中集成了面向android v3.5的Facebook SDK,并包含了安装发布代码: com.facebook.AppEventsLogger.activateApp(this); 但我收到了很多由以下原因引起的崩溃: Settings.java line 418 com.facebook.Settings.getAttributionId 并且它抛出exception: java.lang.IllegalStateException: Orca SharedPreferences used before initialized 我一直试图重现崩溃但没有成功。 有人遇到过这个问题吗? 我只是想知道: /* Only activate FaceBook publish install if the user has the FaceBook app installed */ if (com.facebook.Settings.getAttributionId(getContentResolver()) != null){ com.facebook.AppEventsLogger.activateApp(this); } 这会解决问题吗? 谢谢!

在sharedPreferences中存储公钥,并检索它

我正在尝试使用RSA加密数据。 到目前为止一切都很好。 我可以生成Private-Public密钥,我可以成功加密和解密字符串。 现在我想在SharedPreference中存储公钥。 我可以把它存储为字符串。 我可以将其检索为字符串。 我需要将其转换为Key,以传递给密码。 不会发生从字符串到原始格式的转换。 这是我试过的 KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(“RSA”); //generate key using RSA KeyPair keypair=keyPairGenerator.generateKeyPair(); //get generated key Cipher cipher =Cipher.getInstance(“RSA/ECB/PKCS1Padding”); SharedPreferences sharedPreferences=context.getSharedPreferences(“rsakey”, MODE_PRIVATE);//Initializing SharedPerference SharedPreferences.Editor editor=sharedPreferences.edit(); editor.putString(“public”,keypair.getPublic().toString()); editor.putString(“private”,keypair.getPrivate().toString()); editor.commit();//store key in sharedpreference final String sampletext=”abcde”; //getting stored key String publicKey = sharedPreferences.getString(“public”, null); String privateKey = sharedPreferences.getString(“private”, null); //publicKey must […]

将SharedPreferences传递给doInBackground()

我试图传递SharedPreferences prefs,作为AsyncTask中doInBackground函数的参数。 我已经传递了一个字符串(url),所以我还需要将prefs作为字符串传递。 我可以简单地使用prefs.toString()将其转换为字符串吗? 这是我设置prefs的地方: if (prefs.getBoolean(“firstrun”, true)) { prefString = prefs.toString(); prefs.edit().putBoolean(“firstrun”, false).commit(); }

Android:NullPointerException使用SharedPreferences

使用SharedPreferences,此活动在启动时崩溃。 首先,我将发布活动代码,然后我将发布我的LogCat。 非常感谢你们,你们总是这么大的帮助! 🙂 活动代码; package com.creativecoders.gymbuddy; import com.creativecoders.gymbuddy.R; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.TextView; public class Benchmark extends Activity { public static final String GB_PREFERENCES_BENCH = “Bench”; public static final String GB_PREFERENCES_FLIES = “Flies”; SharedPreferences settings = getSharedPreferences(“gBValues”, Context.MODE_PRIVATE); @Override public void onCreate(Bundle savedInstanceState) […]

在应用程序中保存数据

我已经申请了。 它是一个按钮,显示您按下它的时间。 每当我“杀死”应用程序时,计时器再次从0开始(自然)。 如何使应用程序保存按下按钮的时间,所以当应用程序被杀死然后你打开它时,计时器就在你停止的时候。我有一些关于如何完成这个的问题,我认为它与SharedPreferences有关。 我的代码: public class MainActivity extends ActionBarActivity { Button button1; Chronometer chromo; protected long time; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button1=(Button)findViewById(R.id.button1); chromo=(Chronometer)findViewById(R.id.chromo); button1.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub if(event.getAction() == MotionEvent.ACTION_DOWN){ chromo.setBase(SystemClock.elapsedRealtime()+time); chromo.start(); } else if( event.getAction() == […]

首选项不能将java.lang.boolean强制转换为String

我有以下Preference类: public class AppPreferencesActivity extends PreferenceActivity { private SharedPreferences appPrefs; private SharedPreferences.Editor prefEditor; private Mediator mediator; private SharedPreferences.OnSharedPreferenceChangeListener listener; private User user; @SuppressWarnings(“deprecation”) public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //—load the preferences from an XML file— addPreferencesFromResource(R.xml.preferences); this.appPrefs = PreferenceManager.getDefaultSharedPreferences(this); this.mediator = (Mediator) getApplication(); this.prefEditor = appPrefs.edit(); this.user = mediator.getUser(); setPreferences(); listener = new SharedPreferences.OnSharedPreferenceChangeListener() […]