Android 如何访问doInBackground异步任务中的SharedReferences?
当我想访问共享参考资料Android 如何访问doInBackground异步任务中的SharedReferences?,android,android-asynctask,Android,Android Asynctask,当我想访问共享参考资料doInBackground中的时,我遇到了一个问题。我该怎么做 真的谢谢 private class postData extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... params) { // I need to access here to my SharedPreferences // } }
doInBackground
中的时,我遇到了一个问题。我该怎么做
真的谢谢
private class postData extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
// I need to access here to my SharedPreferences //
}
}
private类postData扩展异步任务{
@凌驾
受保护的字符串doInBackground(字符串…参数){
//我需要在这里访问我的共享参考资料//
}
}
解决方案比我想象的要简单
private class postData extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext() );
String userName = sharedPrefs.getString("auth_username", "");
String userPass = sharedPrefs.getString("auth_password", "");
}
}
private类postData扩展异步任务{
@凌驾
受保护的字符串doInBackground(字符串…参数){
SharedReferences SharedRefers=PreferenceManager.GetDefaultSharedReferences(getApplicationContext());
String userName=sharedPrefs.getString(“auth_userName”,”);
字符串userPass=sharedPrefs.getString(“验证密码”);
}
}
您可以在后台线程中访问SharedReference(与在主线程上的方式相同),因为它们是持久存储的。非常感谢,它很有效!:D我不知道为什么我认为我做不到这一点,我将发布我的最终代码。IDK为什么会这样做,getApplicationContext()是上下文类的一个方法,AsyncTask没有扩展它。答案不正确,getApplicationContext()在这里不起作用。检查链接,这对我来说是有效的上下文位错误,但你可以从中提取一些有用的信息