我如何共享preferences在AsyncTask的? [英] How do I get sharedpreferences in Asynctask?

查看:171
本文介绍了我如何共享preferences在AsyncTask的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我写我的学校项目的Andr​​oid应用程序,但我坚持在这里。问题是我要访问共享preferences 值,需要在的AsyncTask 类。当我尝试访问它,它不会让我,因为上下文。我怎样才能达到我的共享preferences 在我的的AsyncTask

 公共类的checkAccess扩展的AsyncTask<的JSONObject,整型,布尔> {
    @覆盖
    保护布尔doInBackground(JSONObject的... PARAMS){        //试图让共享preferences这里不会工作。        返回null;
    }}


解决方案

覆盖上preExecute onPostExecute 的方法的AsyncTask 并获得共享preferences 有:

  @覆盖
在preExecute保护无效(){
    super.on preExecute();
    //获取共享$ P $这里pferences
    共享preferences共享preferences = getShared preferences(小于共享preferencesName&GT中,<模式>);
}

请注意, getShared preferences 活动方法。所以,你需要通过上下文来调用它如果你没有在活动使用它

I am writing an android application for my school project but i am stuck here. The problem is i have to access a SharedPreferences value and need it in an AsyncTask class. When I try to access it, it wont let me because of the context. How can i reach my SharedPreferences in my AsyncTask?

public class CheckAccess extends AsyncTask<JSONObject, Integer, Boolean>{


    @Override
    protected Boolean doInBackground(JSONObject... params) {

        //Trying to get sharedpreferences here wont work.

        return null;
    }

}

解决方案

Override onPreExecute or onPostExecute method of AsyncTask and get SharedPreferences there:

@Override
protected void onPreExecute() {
    super.onPreExecute();
    //get sharedPreferences here
    SharedPreferences sharedPreferences = getSharedPreferences(<SharedPreferencesName>, <Mode>);
}

Please note that getSharedPreferences is an Activity method. So, you need to call it through Context if you are not using it in Activity.

这篇关于我如何共享preferences在AsyncTask的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆