我一直在關注this教程,我被卡住了。Android共享首選項
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中運行它時,它會顯示「not firstrun」。我想每次重新安裝應用程序時都會重置首選項,所以代碼有什麼問題?據我所知,我曾經看到過一次「頭飾戰爭」。
謝謝
當我更新代碼後,我在我的Evo上看到了相同的行爲(現在是2.3.3)。另外,1.6模擬器。我不記得以前有過這樣的表現。我的代碼基本上與您的代碼相同 – alienjazzcat 2011-06-22 23:57:52