InterView - MVC模式

说说MVC模式的原理,Android SDK中有哪些组件使用到了MVC模式,其基本原理是什么?

MVC的基本原理就是通过Controller连接View和Model。也就是说,当View中显示的数据变化时(如ListView要删除某个列表项),会通知Controller,而不是直接通知Model。

这时Controller接到View的通知后,会在Model中采取相应的动作(如删除数据库中的某条记录)。如果模型的数据发生变化(如插入,删除数据库中的记录),会将变化通知控制器,然后控制器会通知视图重新显示数据。

使用MVC模式可以将显示部分与数据部分分离,这样当更换视图或模型时可以不影响对方,更有利于程序的维护。

在Android SDK中使用MVC模式的组件非常多。例如,所有的列表控制(ListView,Spinner,GridView等)都采用MVC模式与数据交互。在Android中MVC中的V就代表这些组件,而M则代表各种数据源以及操作数据库的库。C则代表Adapter类。Android中的Adapter类分很多程度,但都拥有共同的接口。这些Adapter类主要包括BaseAdapter,SimpleAdapter,SimpleCursorAdapter,ArrayAdapter,CursorAdapter等。它们分别对应不同的数据源,例如,ArrayAdapter对应List和数组数据源,而CursorAdapter对应Cursor对象(一般是从数据库中获取的记录集)。这些Adapter类都需要使用getView方法返回当前列表项显示的View对象。当Model发生改变时,会调用 BaseAdapter.notifyDataSetChanged方法通知组件数据已变化,这时Adapter会调用getView方法用于重新显示组件的内容。当组件中显示的数据变化时,如删除一个项表项,组建会通过Adapter中的方法删除Model中相应的记录,然后再调用BaseAdapter.notifyDataSetChanged方法使组件中显示的数据发生变化。总之一句话,无论是数据变化,还是组件中显示的数据变化,都需要将Adapter作为桥梁来达到View和Model之间同步的目的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值