我需要在初始化时为其关联的持久存储数据(如果存在)设置一些值。如果没有,我需要初始化它们。在第一次运行时使用 SharedPreference 初始化变量是否有任何缺点。也就是说,像这样:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences sp = getSharedPreferences("MyDataName", Context.MODE_PRIVATE);
String name = sp.getString("name", "");
boolean isFirstRunning = sp.getBoolean("firstTime", true);
if (isFirstRunning) {
Toast.makeText(this, "YEA", Toast.LENGTH_LONG).show();
SharedPreferences.Editor editor = sp.edit();
editor.putBoolean("firstTime", false);
editor.commit();
}
}
如果从处理层面上没有劣势,那么就这种情况而言,是否有标准做法?此外,是否有任何替代方法来处理持久数据,或者我们是否必须为此使用 SharedPreferences?