使用评级等级

时间:2016-12-19 08:36:25

标签: java android rating-system

在我的媒体播放器应用程序(基于Android)中,我想实现一个Thumbs Up / Thumbs Down评级系统。现在,由于框架提供了一个默认的android.media.Rating类来处理不同类型的评级,我正在找出一种使用Rating类实现基于Thumbs评级的方法。

我已经编写了以下方法来设置Up,Down或Unrated评级。

MediaMetadataCompat metadata; // initial metadata

public void setLiked() {
    RatingCompat likedRating = RatingCompat.newThumbRating(true);

    metadata = new MediaMetadataCompat
            .Builder(metadata)
            .putRating(MediaMetadataCompat.METADATA_KEY_USER_RATING, likedRating)
            .build();
}

public void setDisliked() {
    RatingCompat dislikedRating = RatingCompat.newThumbRating(false);

    metadata = new MediaMetadataCompat
            .Builder(metadata)
            .putRating(MediaMetadataCompat.METADATA_KEY_USER_RATING, dislikedRating)
            .build();
}

public void setUnrated() {
    RatingCompat unratedRating = RatingCompat.newUnratedRating(RatingCompat.RATING_NONE);

    metadata = new MediaMetadataCompat
            .Builder(metadata)
            .putRating(MediaMetadataCompat.METADATA_KEY_USER_RATING, unratedRating)
            .build();
}

虽然我还没有测试过这些方法,因为应用程序和模块都还没有完成。这是对歌曲应用评级的正确方法吗?此外,我找不到回收收视率的方法。

我已经多次浏览文档而没有太多线索;在线提供的任何示例仅基于星级评级。如果有人有使用评级类在Android中实现基于Thumbs评级的经验,请在这里帮助我。感谢。

TLDR

为了使这个问题不太具体,我提供了一个更为通用的解释,以便将来这个问题对其他人更有帮助。
基本上,我想在基于Thumbs评级的上下文中对Rating类进行解释/示例。

2 个答案:

答案 0 :(得分:0)

您的实施对我来说似乎是对的,您可以使用此方法检索评分:

metadata = new MediaMetadataCompat
            .Builder(metadata).build();
RatingCompat rating = metadata.getRating(MediaMetadataCompat.METADATA_KEY_USER_RATING);
//you can use rating.isRated() for getting is set or not
//you can use rating.isThumbUp() for getting boolean value

答案 1 :(得分:0)

如果我要编写上面的代码,我会这样做:

{{1}}