Android 模拟一个电子画板同屏的效果

在完成电子书包项目后,接到了新需求:实现电子白板的同屏效果。难点包括画板实现、数据推送和学生端绘制。解决方案是利用AndroidDrawingView作为画板,并通过TCP协议进行数据传输。老师端记录画板操作坐标,通过socket推送给学生端,学生端接收数据后根据坐标绘制。DrawingStep类提供了Json转换方法,方便数据解析和绘制。
摘要由CSDN通过智能技术生成

年初的时候刚把去年底的一个电子书包的项目完结了,这不刚过了几天又收到了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
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值