如何使用C#(Xamarin Forms)保存和访问应用程序周围的服务器响应
本文关键字:应用程序 访问 周围 响应 服务器 保存 何使用 Xamarin Forms | 更新日期: 2023-09-27 17:59:36
我正在尝试创建一个从服务器接收json数据的应用程序,我想知道如何访问应用程序周围保存的服务器响应?例如,json响应可以包含一个键"score"、"username"等,需要在不同的屏幕上显示,但在我推送一个新窗口(Navigation.PushModalAsync(…))后,我无法访问从新窗口接收到的数据。
到目前为止,我能够:
- 向服务器发送投递请求
- 接收并反序列化json
现在,我需要能够在不同的屏幕上访问整个应用程序的响应,但我无法做到这一点。
ServerResponseObject result = JsonConvert.DeserializeObject<ServerResponseObject>(json.ToString());
ServerResponseObject是我创建的一个类
我希望能够访问不同页面和屏幕中的"结果"变量。在全球范围内访问它
我试图声明一个全局变量并创建一个类,但该类是静态的,服务器响应不是静态的。
对这个问题的任何建议(或新方法)都将不胜感激。感谢
更新
如果我将类"ServerResponseObject"设置为静态,那么我就不能再使用这个:
ServerResponseObject result = JsonConvert.DeserializeObject<ServerResponseObject>(json.ToString());
这意味着,我必须手动将服务器响应中的数据分配给每个类属性,而且当属性发生更改时,也很难更新应用程序周围的标签。
如果你想在应用程序重新启动时保留你的数据,你可以将其保存在App.Current.Properties字典中,也可以使用James Montemagnos设置插件,这可能更好,因为它通过特定平台的数据存储进行保存。
并且,您不应该将要保存的对象设置为项目中的静态类。相反,创建ServerResponseObject的静态属性,并从json中为其赋值。