Android的心电图

前端之家收集整理的这篇文章主要介绍了Android的心电图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想制作一个实时显示有氧图形的应用程序.这意味着我想测量心位并希望在我的应用程序中以图形显示比特率.但我想知道绘制有氧图.我已经浏览了许多示例图代码但是dint得到任何线索来绘制有氧图.有任何身体的线索吗?

解决方法

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

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

  1. Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
  2. paint.setStyle(Paint.Style.STROKE);
  3. paint.setStrokeWidth(3);
  4. paint.setColor(Color.GREEN); //Change to what you want

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

  1. canvas.drawColor(Color.WHITE);
  2.  
  3. Path path = new Path();
  4. path.moveTo(0,yourValueAt(0));
  5. for(int sec = 1; sec < 30; sec++)
  6. path.lineTo(sec,yourValueAt(sec));
  7.  
  8. canvas.drawPath(path,paint);

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

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

  1. class DrawingThread extends Thread {
  2. @Override
  3. public void run() {
  4. while (running) {
  5. Canvas c = null;
  6. try {
  7. c = mSurfaceHolder.lockCanvas(null);
  8. synchronized (mSurfaceHolder) {
  9. doDraw(c);
  10. }
  11. } finally {
  12. if (c != null) mSurfaceHolder.unlockCanvasAndPost(c);
  13. }
  14. synchronized (this) {
  15. //Optional but saves battery life.
  16. //You may compute the value to match a given max framerate..
  17. this.wait(SOME_DELAY_IN_MS);
  18. }
  19. }
  20. }
  21. }

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

猜你在找的Android相关文章