【问题标题】:Can't access shared preference from my java class. android无法从我的 java 类访问共享首选项。安卓
【发布时间】:2016-03-28 19:03:02
【问题描述】:

我有 2 个活动(登录和网络通话)。登录存储用户详细信息(使用共享首选项)。我已经从 webservice wsdl 生成了所有类。 在我的网络电话 activity 中,我调用了一个 WebServiceSoapCall 类,即 WebServiceSoapCall webcall = new WebServiceSoapCall; 这个类将参数传递给另一个类,如下所示: HttpTransportBasicAuth(url,password,username); 由于这些是常规 而不是活动(HttpTransportBasicAuth 和 WebServiceSoapCall ),我无法从其中的共享首选项中检索这些参数:
SharedPreference mypref = getsharedpreference(SP_NAME,Contect.MODE_PRIVATE); getsharedpreference() 仅在活动中的类中不起作用。现在我明确地传递了这些参数: HttpTransportBasicAuth("myurl","myusername","mypassword"); 出于显而易见的原因,我想避免使用这种硬编码。

【问题讨论】:

  • 您必须尝试澄清这一点,或者只是添加 java 类,因为目前您的问题还不清楚。
  • 看到这个,来自... Elena stackoverflow.com/a/23024962/5885018
  • 我已经尝试使用共享首选项,就像在本网站上的所有示例和在线教程中一样。当您在活动中使用它们时效果很好,但当您尝试从java类
  • 您必须将 Context 对象传递到 Java 类中才能获得 SharedPrefereneces
  • 嗨,Elena,当您在类中使用 getSharedPreference() 时,它不起作用,因为它不是一个活动..因此我的问题 :(

标签: java android sharedpreferences android-sharedpreferences


【解决方案1】:

你可以传递一个额外的参数,一个Context,然后调用context.getSharedPreferences()

【讨论】:

    猜你喜欢
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 2015-09-04
    • 2016-10-12
    • 1970-01-01
    • 2012-09-20
    相关资源
    最近更新 更多