MPAndroidChart 教程:Realm

实际的教程方案如下所示:

数据类


我们有一个数据类Score ,延伸RealmObject必需),其存储的假想游戏的Totalscore的以及一个scoreNr将代表一个简单的增量计数器和一个playername。

public class Score extends RealmObject {

private float totalScore;

private int scoreNr;

private String playerName;

public Score() { } // no arguments constructor required for realm

public Score(float totalScore, int scoreNr, String playerName) {

this.scoreNr = scoreNr;

this.playerName = playerName;

this.totalScore = totalScore;

}

// all getters and setters (required for realm) …

}

请确保您的数据类提供了一个无参数的构造函数(除了你可能有任何其他的构造函数),以及所有必需的getter和setter方法。 这是必需的领域工作。

领域实例和数据


为了能够访问存储在领域数据库中的数据,我们需要一个领域数据库实例:

// get realm instance

Realm realm = Realm.getDefaultInstance();

有关如何设置你的领域实例(包含详细信息RealmConfiguration请看看这里 。 在本教程中,我们假设我们的境界数据库的数据是这样的:

biao ge

该代码存储前面提到的Score在本地领域数据库例如可以是这样的对象:

realm.beginTransaction();

Score score1 = new Score(100f, 0, “Peter”);

realm.copyToRealm(score1);

Score score2 = new Score(110f, 1, “Lisa”);

realm.copyToRealm(score2);

Score score3 = new Score(130f, 2, “Dennis”);

realm.copyToRealm(score3);

Score score4 = new Score(70f, 3, “Luke”);

realm.copyToRealm(score4);

Score score5 = new Score(80f, 4, “Sarah”);

realm.copyToRealm(score5);

realm.commitTransaction();

绘图领域数据


现在,我们需要做的是剧情在上述所有Totalscore的和playername值BarChart从境界直接的scoreNr将被用作xIndex。 为了做到这一切,我们需要我们realm-object以及一个RealmResults List我们的数据对象的Score 。

// get the data from realm (of course more complex queries are possible here)

RealmResults results = realm.allObjects(Score.class);

完成查询后,我们需要设置我们的RealmBarDataSet 构造函数(构造函数中的一个),如下所示:

public RealmBarDataSet(RealmResults results, String yValuesField, String xIndexField) { …

作为参数results ,我们会为我们的results ,我们刚刚从境界查询列表。 该String yValuesField将是的成员变量的名字Score级,应该代表绘制图表中的y值。 在我们的例子中,我们要绘制的Totalscore的 ,所以我们会提供”totalScore”作为参数。 为xIndexField参数我们希望提供应该被用作xIndex成员变量的名称。 在这种情况下,我们将提供”scoreNr”作为参数。 最终的DataSet应该是这样的:

RealmBarDataSet dataSet = new RealmBarDataSet(results, “totalScore”, “scoreNr”);

// apply additional styling…

在创建后DataSet ,我们需要把它添加到RealmBarData对象。 该类RealmBarData还提供了看起来像这个领域相关数据的特定构造函数:

ublic RealmBarData(RealmResults results, String xValuesField, List dataSets) { …

此外,作为参数results ,我们会为我们的results ,我们刚刚从境界查询列表。 参数xValuesField应的成员变量的名称Score类应作为x值(值作图沿着x轴)。 在我们的例子中,我们希望玩家的名称绘制每个分数以下,所以我们选择”playerName”作为参数。 结果应该是这个样子:

ArrayList dataSetList = new ArrayList();

dataSetList.add(dataSet); // add the dataset

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值