【问题标题】:Storing an array of favorites in nativescript application-settings在 nativescript 应用程序设置中存储一系列收藏夹
【发布时间】:2018-11-29 16:23:16
【问题描述】:

我看到tns-core-modules/application-settings 能够在设备上存储数据。我有一个应用程序,我想将用户的收藏夹存储到设备中。

假设我正在存储最喜欢的歌曲列表,我可以使用 setStringgetString,但我不确定如何以编程方式获取所有歌曲。是否有另一种我缺少的选项或方法来实现这一点,可以使用songs 作为键访问字典,并且可以加载所有songs

【问题讨论】:

    标签: typescript nativescript angular2-nativescript


    【解决方案1】:

    JSON.stringifysetString 一起使用/JSON.parsegetString 一起使用。

    // Set favorite songs 
    appSettings.setString("favorites", JSON.stringify(songs));
    
    // Get favorite songs
    const songs = JSON.parse(appSettings.getString("favorites", "{}"));
    

    【讨论】:

    • 您对如何使用这种方法跟踪数据集的更改有什么建议吗?使用与问题相同的示例,假设我有一个显示这些收藏夹的页面,并且收藏夹也可以从其他页面更新。我希望所有页面都与已收藏/未收藏的内容同步。
    • 既然您使用的是 Angular,请创建一个服务来处理对应用程序设置的读取/写入收藏夹。保留一个始终拥有您的每个页面将订阅的最新收藏夹数据的 BehaviorSubject。当一个页面请求更新收藏时,让它通过这个服务,自动更新应用程序设置和行为主题,它的所有订阅者都会收到通知。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 2015-11-24
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多