- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我制作了一个类来处理重要的数据更改,例如 App 购买状态和其他内容。
为了这个目标,我创建了一个类来设置和读取值。但问题是每当我调用 appIsPurchased() 方法时,结果都是真实的,但自从应用程序安装和首次启动以来它一直没有改变。
这是我的代码:
/**
* Created by neemasa on 5/29/14.
* This class handles more crucial data values within app.
*/
public class AppCore {
private SharedPreferences settings;
private String keyPurchase = "app_purchased";
private Context context;
public AppCore(Context context){
this.context = context;
settings = PreferenceManager.getDefaultSharedPreferences(context);
}
public void setAppInPurchasedMode(String status){
if (status.equals("successful")){
settings.edit().putBoolean(keyPurchase, true).commit();
}else if (status.equals("failed")){
settings.edit().putBoolean(keyPurchase, false).commit();
}
}
public boolean appIsPurchased(){
boolean purchased = false;
if (settings.getBoolean(keyPurchase,true)){
purchased = true;
}
return purchased;
}
}
与此同时,当我在我的代码中使用此类时, toast “已购买!”即使在应用程序首次运行时也会运行。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AppCore appCore = new AppCore(getApplicationContext());
if (appCore.appIsPurchased()){
Toast.makeText(getApplicationContext(),"Purchased!",Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(getApplicationContext(),"Not Purchased!",Toast.LENGTH_SHORT).show();
}
}
最佳答案
其实你的代码有问题!!这就是为什么它总是显示已购买!!
if (settings.getBoolean(keyPurchase,true)){
purchased = true;
}
在这一行中,如果不使用 keyPurchased 标签,则默认传递真值所以当你调用
if (appCore.appIsPurchased()){
它总是返回一个真值。解决方案是确保在调用它们之前设置首选项值。希望这有帮助
关于android - SharedPreferences.getBoolean 每次都返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23934645/
我想在用户第一次打开应用程序时显示一些 Activity ,我有相应的代码,但是当我将代码添加到主要 Activity 时,它显示一个错误,无法解析符号“getBoolean” 我不知道该怎么办,有人
我有一个单元测试,要求我为 firebase 配置条目返回 true 或 false。但即使我将模拟设置为 true,它在单元测试运行时也总是返回 false。 这是我的模拟: doReturn(tr
我在 android 中遇到 SharedPreference.getBoolean 的问题,非常令人沮丧。请参阅以下代码 fragment : Map all = preferences.getAl
我的 SQL SPROC 结果集中有一个字段,它是一个返回 1 或 0(即 True/False)的计算 CASE 语句。 当我尝试使用 SqlDataReader 类的 GetBoolean 方法时
我正在编写一个需要检查默认首选项设置并做出相应响应的程序。 getBoolean 方法始终返回 false,即使 R.xml.preferences 将 defaultValues 设置为 true。
在图片上您可以看到 bool 变量采用默认值,即使在 SharedPreferences 中有一个键值对具有正确的键。什么会导致这个?在代码中,这是在 onCreate 方法的末尾。在此之后调用 on
我正在通过hadoop进行pdf文档聚类工作,因此我正在通过阅读Internet上的一些示例来学习mapreduce。 job.get("map.input.file") job.getboolean
这可能是 Android 101,但我现在已经习惯了 SDK。无论如何,我根本不明白这个错误。我想根据我的共享首选项文件更新一些复选框选择,我使用以下方法: private void updatePr
出于某种原因,对于默认值,每次都会返回 true。我卸载了我的应用程序并重新安装,然后执行以下操作来初始化值。但由于某种原因, bool 值设置为 true 而不是 false。 Shared
有一次我遇到了问题,你们帮了大忙。所以我又遇到了另一个我遇到的问题......:/ 我正在运行一个扩展 BroadcastReceiver 的自定义 NetworkReceiver。我想检测手机何时连
我制作了一个类来处理重要的数据更改,例如 App 购买状态和其他内容。 为了这个目标,我创建了一个类来设置和读取值。但问题是每当我调用 appIsPurchased() 方法时,结果都是真实的,但自从
本文整理了Java中bibliothek.util.xml.XElement.getBoolean()方法的一些代码示例,展示了XElement.getBoolean()的具体用法。这些代码示例主要来
本文整理了Java中facebook4j.internal.util.z_F4JInternalParseUtil.getBoolean()方法的一些代码示例,展示了z_F4JInternalPars
我有以下代码,其中包含错误检查表达式: JSONObject obj = new JSONObject(response); if (!obj.getBoolean("error")) 我想知道 ge
我想保存我的游戏设置(bgMusic、声音和振动),但在加载应用程序时启动时崩溃。代码是: private SharedPreferences preferences; private SharedP
差不多,我正在尝试编写一个让用户选择文件的简单程序。不幸的是,通过 Swing 的 JFileChooser 有点过时了,所以我正在尝试为此使用 JavaFX FileChooser。目标是将 Fil
我在 Visual Studio 2013 中使用 mysql-connector-c++-1.1.4-winx64。连接到特定数据库并读取整数值是可行的,但无法检索任何 bool 值。 我可以编译包
我正在尝试制作读取 ini 文件的函数。为什么 Boolean.getBoolean("true") 返回 false?如何在 java 1.4 中以正确的方式使用这个对话?是否取决于系统设置? 最佳
本文整理了Java中org.bukkit.configuration.file.YamlConfiguration.getBoolean()方法的一些代码示例,展示了YamlConfiguration
本文整理了Java中com.sk89q.util.yaml.YAMLProcessor.getBoolean()方法的一些代码示例,展示了YAMLProcessor.getBoolean()的具体用法
我是一名优秀的程序员,十分优秀!