【问题标题】:Store String from JSON, Use between Activities从 JSON 存储字符串,在活动之间使用
【发布时间】:2026-01-24 22:40:02
【问题描述】:

所以我试图从 API 解析 JSON 数据,在这个称为 systemsim 的 JSONArray 中提供了一个 system_id,它只是一个数字字符串。我希望能够将此字符串保存为systemID 变量,可以在应用程序内部的其他活动中使用。

例如,我想解析来自该系统的特定数据,因此我的 JSON url 必须看起来像这样才能正确加载这些数据。

JSONArray json = jParser.getJSONFromUrl(url + systemID + "get_data" + "&key=" + apikey);

这里是我如何获取解析的系统 ID 的示例

try { JSONObject c = json.getJSONObject(i);
      String system_id = c.getString(TAG_SYSTEM_ID);

现在我只需要保存这个字符串。

【问题讨论】:

    标签: java android json parsing textview


    【解决方案1】:

    又脏又快的写法:静态变量

    干净且更好:服务(您必须启动服务,否则它将在活动 A 的解除绑定和活动 B 的绑定之间被杀死)。服务类可以存储您想要保留的任何会话数据。

    【讨论】:

      【解决方案2】:

      我认为您可以使用SharedPreferences 来保存您的字符串。希望这会有所帮助。

      【讨论】:

        【解决方案3】:

        据我了解,您希望在后台以 JSON 形式检索数据。 (可能是由用户所做的事情触发的)

        如果这些数据需要对所有 Activity 可用,您可以让 Service 完成与网络相关的工作,并让 Activity 绑定到该服务。或许可以使用here 中描述的接收器,让活动在数据可用时立即接收数据(您的 system_id)。

        【讨论】: