2012-04-21 2 views
-2

Я изучаю разработку Android для Sams Android Development за 24 часа. Я реализую игру под названием theredone, содержащий следующие действия:обсуждение общих предисловий

quizactivity, splashactivity, gameactivity, menuactivity, settingsactivity, helpactivity. splashactivity распространяется на quizactivity, а quizactivity распространяется на Activity.

Я внедрил SharedPreferences в quizactivity.java.

package com.androidbook.triviaquiz6; 

import android.app.Activity; 
import android.content.SharedPreferences; 

public class QuizActivity extends Activity { 
    public static final String GAME_PREFERENCES = "GamePrefs"; 

    private SharedPreferences myPrefs; //Syntax error on token ";", { expected after this token -//---------------------------- 


    myPrefs = Actionactivity.this.getSharedPreferences("myPrefs", MODE_WORLD_WRITEABLE); 
    SharedPreferences.Editor prefsEditor = myPrefs.edit(); 
    prefsEditor.putString("key name", "key valuse"); 
    prefsEditor.commit(); 


    //this one to read data 
    myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE); 

    myPrefs.getString("key name", "") ; 
}//Syntax error, insert "}" to complete ClassBody ----------------------- 

вы могли бы помочь мне, пожалуйста, я не думаю, что его тупые QS

+0

Очень родственный: http://stackoverflow.com/questions/10243080/i-would-like-others-to-help-me-on-sharedpreferences; пожалуйста, заберите хорошую книгу и учебник по Java, вам не хватает основ. – Mat

+0

Может быть номер в названии вашего пакета. О том, что вам не хватает методов жизненного цикла Android! – Blundell

ответ

1

вы можете использовать следующий код в качестве ссылки для общего предпочтения :::: А в вашем коде вы не имеете OnCreate метод

//Retrive value from SharedPreference 
SharedPreferences preferences = getApplicationContext().getSharedPreferences(GAME_PREFERENCES , android.content.Context.MODE_WORLD_WRITEABLE); 
String value = preferences.getString(key, null); 


//Save value in SharedPreference 
SharedPreferences preferences = getApplicationContext().getSharedPreferences(GAME_PREFERENCES , android.content.Context.MODE_WORLD_WRITEABLE); 
SharedPreferences.Editor editor = preferences.edit(); 
editor.putString(key, value); 
editor.commit(); 

Обновлено :::

package com.androidbook.triviaquiz6; 

import android.app.Activity; 
import android.content.SharedPreferences; 

public class QuizActivity extends Activity { 
    public static final String GAME_PREFERENCES = "GamePrefs"; 
    private SharedPreferences myPrefs; 
    protected void onCreate(Bundle savedInstanceState) { 
    .... 

    //this one data set in SharedPreferences file 

    myPrefs = Actionactivity.this.getSharedPreferences("myPrefs", MODE_WORLD_WRITEABLE); 
    SharedPreferences.Editor prefsEditor = myPrefs.edit(); 
    prefsEditor.putString("ket name", "key valuse"); 
    prefsEditor.commit(); 

    } 
} 
+0

Как использовать метод oncreate. Я спрашиваю, потому что в res \ layout у меня нет @string в .xml. У меня есть splash.xml, menu.xml, game.xml, scores.xml, settings.xml, help.xml. как я могу использовать oncreate. –

+0

увидеть обновленный раздел –

+0

на .... вы имеете в виду –

1

Вы ссылаетесь на Actionactivity акт в деятельности QuizActivity. Действие еще не создается, и вы открываете getSharedPreferences, используя это.

метод getSharedPreferences имеет контекстный метод и для текущей деятельности вы можете ссылаться на экземпляр this, чтобы вызвать этот метод getSharedPreferences.

Если вы не хотите использовать контекст активности, вы можете использовать application context, позвонив по номеру getApplicationContext().

Для получения дополнительной информации о предпочтении вы можете обратиться this

Смежные вопросы