【问题标题】:Delete all objects in Android Parse local datastore删除 Android Parse 本地数据存储中的所有对象
【发布时间】:2017-01-03 19:28:29
【问题描述】:

我的 Android 应用从 Parse 服务器读取数据。所有类都有一个“isDeleted”布尔列,用于确定对象是否被视为“活动”并应显示在客户端设备上。

不幸的是,一位同事被要求删除一个类的两个对象,但他不知道将对象标记为已删除的正确方法。相反,他对服务器上的两个对象进行了硬删除。现在这两个“僵尸”对象不会从本地安装中消失。

我认为我可以通过从设备中删除所有本地数据并从服务器进行完整数据刷新来解决此问题。我编写了一个应用程序更新,在检测到新版本号时,从本地 Parse 数据存储中取消固定所有对象并从服务器重新下载所有数据。

ParseObject.unpinAll(MyClass.CLASS_NAME);

但是这行代码并没有达到我的预期。从服务器删除的两个对象并没有从客户端设备中删除!

我怎样才能从本地 Parse 数据存储中彻底、彻底地删除所有固定对象并使这两个“僵尸”对象消失?

该应用正在使用最新版本的 Parse:

compile 'com.parse.bolts:bolts-tasks:1.3.0'
compile 'com.parse:parse-android:1.13.0'
compile 'com.parse:parseui-login-android:0.0.1'
compile 'com.parse:parseui-widget-android:0.0.1'
compile 'com.parse:parseinterceptors:0.0.2'

【问题讨论】:

    标签: android parse-platform


    【解决方案1】:

    我找到了自己问题的解决方案。为了从本地存储中删除所有对象,我将对 ParseObject.unpinAll() 的调用替换为 ParseObject.unpinAllInBackground()

    所以不是

    ParseObject.unpinAll(MyClass.CLASS_NAME)
    

    我有

    ParseObject.unpinAllInBackground(new DeleteCallback() {
            @Override
            public void done(ParseException e) {
                // ...
            }
        });
    

    现在所有以前保存的对象都从本地存储中消失了。

    【讨论】:

    • 您知道这是预期行为还是 Parse sdk 中的错误?
    猜你喜欢
    • 2013-04-16
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-16
    • 1970-01-01
    相关资源
    最近更新 更多