在我的媒体播放器应用程序(基于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评级的经验,请在这里帮助我。感谢。
为了使这个问题不太具体,我提供了一个更为通用的解释,以便将来这个问题对其他人更有帮助。
基本上,我想在基于Thumbs评级的上下文中对Rating类进行解释/示例。
答案 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}}