【问题标题】:android sorting arraylist of "Like"“喜欢”的android排序arraylist
【发布时间】:2016-08-30 18:24:53
【问题描述】:

我想为我的应用实现“点赞”功能。

我的应用程序有不同的故事,每个故事都有一个唯一的键。当用户点击“Like”按钮时,它会将用户“liked key”的String arraylist上传到Parse.com,例如如下:

User A's favorite: {1, 2, 3, 5, 7, 9, 13};
User B's favorite: {1, 3, 4, 5, 10};
User C's favorite: {1, 2, 11, 14, 20};
User D's favorite: {1, 2, 12, 19};

我打算检索和排序如下:

    arr_conso.clear();      
    for (ParseObject parse_table : ob)
    {
        List<String> favorite_array = (ArrayList<String>) parse_table.get("fav_list");              
        arr_conso.addAll(favorite_array);                
    }  

    counting = new HashSet<String>(arr_conso);

arr_conso 将附加所有用户最喜欢的故事键,counting 将从arr_conso 中提取唯一的问题键。

问题:

  1. 如何以有效的方式进一步按频率降序对故事键进行排序,输出如下 Story 1: 4 Story 2: 3 Story 3: 2 Story 5: 2 Story 7: 1...

  2. arraylist 中是否有最大项目数,例如arr_conso在上述情况下?

  3. “赞”的数据库一般应该如何管理?这里是为每个用户存储“Like”,按问题存储“Like”是否更好?是否有任何“Like”和“Comment”管理的示例或库?

谢谢!

【问题讨论】:

    标签: android sorting parse-platform collections


    【解决方案1】:

    对喜欢列表进行排序的一种简单方法是在您的故事表中添加一个新的“喜欢”数列。在该列中,您将保存每个故事的点赞数。

    因此,当用户喜欢某个故事时,该列将增加 1,而当用户不喜欢某个故事时,该列将减少 1。 这样,您可以更轻松地以您喜欢的任何顺序检索点赞列表。

    关于“赞”数据库,存储每个问题是管理和检索所需信息的更有效方式。

    【讨论】:

    • 如果按故事级别存储点赞数,我了解存储点赞数/喜欢故事的人的好处。但是,当有多个用户同时对同一个问题提出类似要求时,我无法弄清楚基础架构/稳定性。当有用户点赞时,点赞栏必须加1或加用户名,以免点赞。第二用户可以在第一用户的过程中进行检索,并在第一用户按下like之前检索较短的。怎么处理?
    • 我在自己的应用程序中使用这种风格。为了避免冲突,当用户按下点赞按钮时,我从数据库中获取点赞数,然后增加或减少它。这样,即使多个用户同时按赞按钮,也不会发生冲突,解析会处理请求过程。
    猜你喜欢
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多