出现空指针异常的原因可能是因为没有正确初始化SharedPreferences对象。下面是一个示例代码,展示了如何使用SharedPreferences,并避免空指针异常的问题:
import android.content.Context;
import android.content.SharedPreferences;
public class MySharedPreferences {
private static final String PREF_FILE_NAME = "MyPrefs";
private static final String KEY_NAME = "name";
private SharedPreferences sharedPreferences;
public MySharedPreferences(Context context) {
sharedPreferences = context.getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE);
}
public void saveName(String name) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(KEY_NAME, name);
editor.apply();
}
public String getName() {
return sharedPreferences.getString(KEY_NAME, "");
}
}
在使用SharedPreferences之前,我们需要确保正确初始化SharedPreferences对象。可以在Activity或Fragment的onCreate方法中进行初始化:
public class MainActivity extends AppCompatActivity {
private MySharedPreferences mySharedPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mySharedPreferences = new MySharedPreferences(this);
// 保存和获取数据
mySharedPreferences.saveName("John");
String name = mySharedPreferences.getName();
Log.d("MainActivity", "Name: " + name);
}
}
在上述示例中,我们通过在构造函数中传入Context对象,并使用getSharedPreferences方法初始化了SharedPreferences对象。这样就确保了SharedPreferences对象的正确初始化,避免了空指针异常的问题。
上一篇:安卓 SDK 安装失败