这个作业属于哪个课程 | 2020春S班(福州大学) |
---|---|
这个作业要求在哪里 | 个人作业——软件工程实践总结&个人技术博客 |
这个作业的目标 | 个人技术总结 |
作业正文 | Android hellocharts折线图 |
其他参考文献 | 暂无 |
技术概述,描述这个技术是做什么?学习该技术的原因,技术的难点在哪里?
Hellocharts框架是android的第三方开源图表库,支持Line chart、Column chart、Pie chart、Bubble chart、Combo chart、Preview charts多种类型的图表,在满足基本的图表功能同时,还兼顾美观性,流畅性。学习该技术的原因时因为在本次团队项目开发中需要实现一个折线图来显示每月每天的专注时长分布。技术难点在于与后端交互获取数据之后折线图的刷新。
技术详述,描述你是如何实现和使用该技术的
1、添加lib
2、在布局文件中添加linechart布局
3、实例化linechart控件
4、初始化折线图
设置折线Line的属性
设置x,y轴及折线点
设置linechart属性
技术使用中遇到的问题和解决过程
- 遇到的难题
在与后端进行数据交互时遇到了折线图曲线刷新重置方面的一些困难,在获取完后端json并解析返回数据之后,由于对于线程及json解析方面知识掌握不足出现了程序闪退或者折线图空白的情况。
- 解决过程
通过在CSDN或者简书寻找相关学习资料,找到了合适的解决方法。在折线图Activity中增加了连接服务器的子线程,在子线程中执行Http请求,并将最终的请求结果回调到okhttp3.Callback中,并在子线程中进行json解析及ui更新。
总结
对于安卓前端的小白来说,一直担心编写需要添加外部lib的控件会出现很多的bug,但是接触下来发现,使用一些已有的框架要比自己写快速以及精美得多。此外,虽然本次项目的任务完成了,但是我对hellocharts的其他几个图表以及线程的掌握还远远不够,所以之后还需要更加努力继续学习。
参考博客
HelloChart--LineChartView(折线图)