年初的时候刚把去年底的一个电子书包的项目完结了,这不刚过了几天又收到了boss新的需求:添加一个电子白板,要求老师端绘画的时候,学生端的屏幕也能看到老师端的操作。
难点:
1.画板的写法
2.如何推送数据到学生端,该推送什么格式的数据
3.学生端收到数据该如何绘制。
思路:
1.画板的写法ok,网上一大堆
2.老师端绘制的时候,绘制的每一个操作,又都横纵坐标记录,我只要推送这些记录给学生端,让学生端再根据 坐标绘制
3.依然采取1.0的方案,客户端用socket(tcp)服务器端用(walkman)方式推送数据(已解决)
方案:
1.画板采用github上星星最多的AndroidDrawingView,前人种树好乘凉,我的建议是最好下载源码自己先看一遍他的思路,当然这里我早就发现这个demo完全契合我的项目。这个demo竟然已经为你扩展了如何实现同屏。请看
DrawingView.java里的这个接口:
/**
* 绘制代理,通知状态变更和获取数据
*/
public interface DrawingStepDelegate {
/**
* 当前绘制step创建时回调,通常用于远程同步
* step处于变化状态
*
* @param drawingView 当前view
* @param step 当前绘制step,任意修改此step可能导致错误
*/
void onDrawingStepBegin(DrawingView drawingView, DrawingStep step);
/**
* 当前绘制step变更时回调,每次touch绘制都会执行,text图层修改内容也会执行,此回调执行频繁,通常用于远程同步
* step处于变化状态
*
* @param drawingView 当前view
* @param step 当前绘制step,任意修改此step可能导致错误
*/
void onDrawingStepChange(DrawingView drawingView, Draw