Общие настройки Android - PullRequest
0 голосов
/ 02 июня 2011

Я следовал этому учебнику и застрял.

public class Main extends Activity {

    SharedPreferences mPrefs;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        firstRunPreferences();

        if(getFirstRun())
        {
            Toast.makeText(Main.this, "firstrun", Toast.LENGTH_SHORT).show();
            setRunned();  
        }
        else
        {           
            Toast.makeText(Main.this, "not firstrun", Toast.LENGTH_SHORT).show();
        }

    }

    public boolean getFirstRun() {
        return mPrefs.getBoolean("firstRun", true);
     }
    public void setRunned() {  
        SharedPreferences.Editor edit = mPrefs.edit();
        edit.putBoolean("firstRun", false);
        edit.commit();
     }
    public void firstRunPreferences() {
        Context mContext = Main.this.getApplicationContext();
        mPrefs = mContext.getSharedPreferences("myAppPrefs", 0); 
     }

}`

Каждый раз, когда я запускаю его в Eclipse, он говорит "не первый запуск". Я думаю, настройки сбрасываются каждый раз, когда приложение переустанавливается, так что не так с кодом? Насколько я помню, однажды я увидел "firstrun".

Спасибо

Ответы [ 3 ]

2 голосов
/ 02 июня 2011

Я предполагаю, что вы используете эмулятор для запуска своего приложения.Вы закрываете эмулятор между запусками?

Проверьте, не установлен ли у вас флажок «Стирание пользовательских данных» на вкладке «Цель» вашей конфигурации запуска отладки в Eclipse.

0 голосов
/ 02 июня 2011

Я не уверен, но я думаю, что SharedPreferences удаляются при удалении, но не при обновлении приложения.

0 голосов
/ 02 июня 2011

SharedPreferences не очищаются при удалении.

Если вы хотите что-то почистить после переустановки, поместите поле в вашу базу данных.

Stéphane

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...