Как использовать SharedPreferences

Я новичок в разработке Android – используя книгу под названием Sams Teach Yourself для разработки приложений Android за 24 часа. Следул за ним до сих пор, но застрял, пытаясь использовать SharedPreferences.

В папке src / com.androidbook.triviaquiz у меня есть файл QuizActivity, в нем у меня есть следующее:

package com.androidbook.triviaquiz; import android.app.Activity; import android.os.Bundle; import android.content.SharedPreferences; public class QuizActivity extends Activity { public static final String GAME_PREFERENCES = "GamePrefs"; SharedPreferences settings = getSharedPreferences(GAME_PREFERENCES, MODE_PRIVATE); SharedPreferences.Editor prefEditor = settings.edit(); prefEditor.putString("UserName", "JaneDoe"); prefEditor.putInt("UserAge", 22); prefEditor.commit(); } 

Это то, что говорит мне книга, но она возвращает ошибки в следующих пунктах: под «.» После первых двух инструкций prefEditor, под («UserName», «JaneDoe») в разделе («UserAge», 22); И под "фиксацией"

Я просмотрел множество сайтов для помощи, но все, похоже, используют один и тот же код. Что я делаю не так?

Solutions Collecting From Web of "Как использовать SharedPreferences"

Попробуйте поместить его в свой onCreate (). Кроме того, getDefaultSharedPreferences() проще:

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Access the default SharedPreferences SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); // The SharedPreferences editor - must use commit() to submit changes SharedPreferences.Editor editor = preferences.edit(); // Edit the saved preferences editor.putString("UserName", "JaneDoe"); editor.putInt("UserAge", 22); editor.commit(); } 

Используйте SharedPreferences только после создания активности. Инициализировать SharedPreferences в onCreate ().

 public class QuizActivity extends Activity { public static final String GAME_PREFERENCES = "GamePrefs"; SharedPreferences settings; SharedPreferences.Editor prefEditor; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); settings = getSharedPreferences(GAME_PREFERENCES, MODE_PRIVATE); prefEditor = settings.edit(); prefEditor.putString("UserName", "JaneDoe"); prefEditor.putInt("UserAge", 22); prefEditor.commit(); } } 

SharedPreferences является одним из StorageOptions в android, который используется для хранения пользовательских настроек. Это доступно во всем приложении. Пример SharedPreferences. http://www.codestacks.in/2013/03/sharedpreferences/

Пример кода:

 package com.example.test; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.widget.Toast; public class SharedPreferencesDemo extends Activity { SharedPreferences shared_preferences; SharedPreferences.Editor shared_preferences_editor; String test_string = ""; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); shared_preferences = getSharedPreferences("shared_preferences_test", MODE_PRIVATE); test_string = shared_preferences.getString("test_key", "Default"); Toast.makeText(getApplicationContext(), test_string, Toast.LENGTH_SHORT) .show(); shared_preferences_editor = shared_preferences.edit(); shared_preferences_editor.putString("test_key", "Hello World"); shared_preferences_editor.commit(); test_string=shared_preferences.getString("test_key", "Default"); Toast.makeText(getApplicationContext(), test_string, Toast.LENGTH_SHORT).show(); } }