You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何校验JSON响应体ID与SharedPreference中存储的用户登录ID?

校验JSON响应id与SharedPreference存储id的一致性

步骤1:从SharedPreference读取登录用户ID

先实现从SharedPreference中取出存储的登录ID,替换代码里的SP名称和存储key为你实际使用的:

// 获取SharedPreference实例
SharedPreferences sharedPref = getSharedPreferences("YourAppPrefs", Context.MODE_PRIVATE);
// 读取存储的用户ID,默认值为空字符串(避免空指针)
String storedLoginId = sharedPref.getString("saved_user_id", "");

步骤2:在响应回调中添加校验逻辑

在你现有代码的currentPageScientists != null && currentPageScientists.size() > 0代码块内,加入ID对比逻辑:

if (currentPageScientists != null && currentPageScientists.size() > 0) {
    // 先获取存储的登录ID
    SharedPreferences sharedPref = ScientistsActivity.this.getSharedPreferences("YourAppPrefs", Context.MODE_PRIVATE);
    String storedLoginId = sharedPref.getString("saved_user_id", "");

    // 遍历响应中的数据,逐个校验ID
    for (Scientist scientist : currentPageScientists) {
        String responseId = scientist.getId();
        // 先判断响应ID不为空,再做对比
        if (responseId != null && responseId.equals(storedLoginId)) {
            // ID匹配时的处理逻辑,比如提示用户、标记条目等
            show(ScientistsActivity.this, "ID匹配成功:" + responseId);
        } else {
            // ID不匹配时的处理逻辑,按需选择是否提示
            // show(ScientistsActivity.this, "ID不匹配:响应ID=" + responseId + " 存储ID=" + storedLoginId);
        }
    }

    // 你原有的列表更新逻辑
    if (action.equalsIgnoreCase("GET_PAGINATED_SEARCH")) {
        allPagesScientists.clear();
    }
    allPagesScientists.addAll(currentPageScientists);
}

优化提示

如果只需要判断列表中是否存在匹配的ID,不需要遍历全部数据,可以找到匹配项后直接跳出循环:

boolean hasMatchedId = false;
for (Scientist scientist : currentPageScientists) {
    String responseId = scientist.getId();
    if (responseId != null && responseId.equals(storedLoginId)) {
        hasMatchedId = true;
        break;
    }
}
if (hasMatchedId) {
    // 存在匹配ID的处理
} else {
    // 无匹配ID的处理
}

内容的提问来源于stack exchange,提问作者Pathumi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 07:19:56