微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android的心电图

我想制作一个实时显示有氧图形的应用程序.这意味着我想测量心位并希望在我的应用程序中以图形显示比特率.但我想知道绘制有氧图.我已经浏览了许多示例图代码但是dint得到任何线索来绘制有氧图.有任何身体的线索吗?

解决方法

对于此特定应用程序,您可能希望使用Path和SurfaceView“手动”绘制图形.

在初始化期间准备好Paint实例:

Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setStyle(Paint.Style.stroke);
paint.setstrokeWidth(3);
paint.setColor(Color.GREEN);  //Change to what you want

当您需要更新图形时,清除场景并构建线路径(根据您的需要进行调整):

canvas.drawColor(Color.WHITE);

Path path = new Path();
path.moveto(0,yourValueAt(0));
for(int sec = 1; sec < 30; sec++)
    path.lineto(sec,yourValueAt(sec));

canvas.drawPath(path,paint);

您也可以使用quadTo或cubicTo而不是lineto.

如果您希望图形具有实时动画效果(即在数据出现在右侧时向左滑动),您可以使用与着名的LunarLander示例类似的方式在SurfaceView上绘制(以下代码是简化版本):

class DrawingThread extends Thread {
    @Override
    public void run() {
        while (running) {
            Canvas c = null;
            try {
                c = mSurfaceHolder.lockCanvas(null);
                synchronized (mSurfaceHolder) {
                    doDraw(c);
                }
            } finally {
                if (c != null) mSurfaceHolder.unlockCanvasAndPost(c);
            }
            synchronized (this) {
                //Optional but saves battery life.
                //You may compute the value to match a given max framerate..
                this.wait(SOME_DELAY_IN_MS); 
            }
        }
    }
}

通过调用yourSurfaceView.getHolder()获取mSurfaceHolder并且doDraw是你调用canvas.drawPath()和所有绘图代码.

原文地址:https://www.jb51.cc/android/315797.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐