Android 视图类与MVC中的视图组件同义吗?

Android 视图类与MVC中的视图组件同义吗?,android,model-view-controller,view,draw,ondraw,Android,Model View Controller,View,Draw,Ondraw,因此,我在网上搜索,试图了解View.draw()和View.onDraw()之间的区别,但似乎没有人知道,坦率地说,我甚至不知道我是否正确处理了这个问题。欢迎一切帮助 问题是: 我有一个canvas对象,它不是自定义视图类的一部分 所讨论的画布对象是数据访问对象(DAO)的一部分 我希望视图在调用onDraw()时绘制DAO的画布 现在,问题似乎是: 我不应该手动调用onDraw() 即使我真的调用了它,onDraw()也会接受一个本质上是输出参数的参数,因此没有必要将DAO.canavas传

因此,我在网上搜索,试图了解View.draw()和View.onDraw()之间的区别,但似乎没有人知道,坦率地说,我甚至不知道我是否正确处理了这个问题。欢迎一切帮助

问题是:

  • 我有一个canvas对象,它不是自定义视图类的一部分
  • 所讨论的画布对象是数据访问对象(DAO)的一部分
  • 我希望视图在调用onDraw()时绘制DAO的画布
  • 现在,问题似乎是:

  • 我不应该手动调用onDraw()
  • 即使我真的调用了它,onDraw()也会接受一个本质上是输出参数的参数,因此没有必要将DAO.canavas传递给它
  • 问题是,如何将我的DAO.canvas传递给视图,以便onDraw()可以访问它并复制到它的输出参数(画布本身)? 此外,如果可能的话,我希望将模型和视图分开。
    如果有人知道,我想知道View.Draw()方法的参数是否也是“输出”类型?

    Draw类似于onDraw,它绘制一些与视图相关的常见内容(背景、淡入淡出的边缘、滚动条),并调用onDraw来绘制特定的内容things@pskink:我从文件中得到了这么多,我的疑问是,我是在draw函数的Canvas参数上绘制东西,还是我可以将一个预构建的Canvas作为参数传递给draw,它将在屏幕上渲染?好的,这是对某人给出答案并在事后将其删除的回应。他回答的主题是“为什么画布对象甚至是道的一部分?”。这是一个很好的问题,我应该在这方面说得更清楚一点。实际上,我正在研究的是一种图像处理应用程序,涂鸦/画画需要在某个时候被持久化,因此,画布需要成为DAO的一部分。DAO中还有一个位图对象,问题是如何在不混合代码的情况下将其传递给视图。draw使用Canvas param,这个画布可以由new Canvas(Bitmap)创建@pskink:那么您的意思是,要绘制的Canvas参数()是一个输出参数,对吗?不管我画什么,它都会显示在屏幕上?如果我将预构建的画布对象传递给draw()函数,会发生什么?它是否显示为屏幕上的状态?