当前位置:首页 » 安卓系统 » androidmodel

androidmodel

发布时间: 2022-08-08 00:58:49

‘壹’ android mvp model需要统一弹窗怎么办

M:modle实体模型,用于保存实例数据比如bean。V:view视图对应布局,展示给用户P:Presenter接口负责完成View于Model间的交互,比如业务逻辑啥的

‘贰’ Android 开发问题

Model:实体层,负责获取实体数据。可详读下文。
MVP模式简单讲解,通俗易懂
http://www.apkbus.com/blog-822715-64235.html
Android架构篇--MVP模式的介绍篇
http://www.apkbus.com/blog-866962-68049.html

‘叁’ 安卓mvc是model,view,controller的缩写,mvc包含三个部分:

l模型(model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。
l视图(view)对象:是应用程序中负责生成用户界面的部分。也是在整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。
l控制器(control)对象:是根据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,想用用户出发的相关事件,交给m哦得了处理。

‘肆’ 如何实现自己的Android MVP框架

前言

MVP作为一种MVC的演化版本在Android开发中受到了越来越多的关注,但在项目开发中选择一种这样的软件设计模式需保持慎重心态,一旦确定使用MVP作为你App的开发模式那么你就最好坚持做下去,如果在使用MVP模式开发过程中发现问题而且坑越来越大,这时你想用MVC等来重新设计的话基本上就等于推倒重来了。要知道在Android上MVP在现在为止并没有统一的标准或者框架,不像SSH这三个成熟稳重强而有力的三剑客支持推动着Java EE的开发,所以在运用MVP时一定要做好自己的理解,并且尽量预知自己App各模块的需求(客户说改改改,我们就改改改 :-( )以便提前做好充分的设计工作。当然MVP既然能出现那么必然有它的优点的,不然谁会理会这个冒出来的东西,下面就对Android中MVP做一些阐述。

MVP简介

相信大家对MVC都是比较熟悉了:M-Model-模型、V-View-视图、C-Controller-控制器,MVP作为MVC的演化版本,也是作为用户界面(用户层)的实现模式,那么类似的MVP所对应的意义:M-Model-模型、V-View-视图、P-Presenter-表示器。从MVC和MVP两者结合来看,Controlller/Presenter在MVC/MVP中都起着逻辑控制处理的角色,起着控制各业务流程的作用。而MVP与MVC最不同的一点是M与V是不直接关联的也是就Model与View不存在直接关系,这两者之间间隔着的是Presenter层,其负责调控View与Model之间的间接交互,MVP的结构图如下所示,对于这个图理解即可而不必限于其中的条条框框,毕竟在不同的场景下多少会有些出入的。在Android中很重要的一点就是对UI的操作基本上需要异步进行也就是在MainThread中才能操作UI,所以对View与Model的切断分离是合理的。此外Presenter与View、Model的交互使用接口定义交互操作可以进一步达到松耦合也可以通过接口更加方便地进行单元测试。

项目效果预览
包图中明显的三层:Model包、Presenter包、UI包,其中,三者都实现各自的结构,Model为WeatherModel、Presenter为WeatherPresenter、View为Weather,那么具体实现类就是impl包里的了,View层的即为Activity。此外的app和util包无关紧要可以不看。可以看到采用MVP设计后项目明显多了很多东西,这也是不可避免的,使用原始方法可以使项目开起来简单些但是以后还有维护呢、测试呢、加功能呢、。。。
entity里的实体属性基本上对应json里的这些属性了,代码不贴了

View里面的接口:

public interface WeatherView {
void showLoading();
void hideLoading();
void showError();
void setWeatherInfo(Weather weather);
}


WeatherPresenter的接口:

public interface WeatherPresenter {
/**
* 获取天气的逻辑
*/
void getWeather(String cityNO);
}


WeatherModel接口:

public interface WeatherModel {
void loadWeather(String cityNO, OnWeatherListener listener);
}


prestener里面还有个OnWeatherListener,其在Presenter层实现,给Model层回调,更改View层的状态,确保Model层不直接操作View层。如果没有这一接口在WeatherPresenterImpl实现的话,WeatherPresenterImpl只有View和Model的引用那么Model怎么把结果告诉View呢?当然这只是一种解决方案,在实际项目中可以使用Dagger、EventBus、Otto等第三方框架结合进来达到更加松耦合的设计。

public interface OnWeatherListener {
/**
* 成功时回调
*
* @param weather
*/
void onSuccess(Weather weather);
/**
* 失败时回调,简单处理,没做什么
*/
void onError();
}


所以demo的代码流程:Activity做了一些UI初始化的东西并需要实例化对应WeatherPresenter的引用和实现WeatherView的接口,监听界面动作,Go按钮按下后即接收到查询天气的事件,在onClick里接收到即通过WeatherPresenter的引用把它交给WeatherPresenter处理。WeatherPresenter接收到了查询天气的逻辑就知道要查询天气了,然后把查询天气的具体业务实现交给WeatherModel去实现同时把WeatherListener即WeatherPresenter自己传给WeatherModel。WeatherModel进行查询天气业务后即把结果通过WeatherListener回调通知WeatherPresenter,WeatherPresenter再把结果返回给View层的Activity,最后Activity显示结果。就这样,拍砖之处请拍。

End

采用哪种软件设计模式都是为了达到如下目的,找到合适的加以运用就是最好的:

易于维护

易于测试

松耦合度

复用性高

健壮稳定

------------------------------------------------------------------------------------

以上内容均参考互联网,希望以上知识对您有所帮助,

‘伍’ Android中,什么是Model

.Model 是数据源层。比如数据库接口或者远程服务器的api。
.Presenter是从Model中获取数据并提供给View的层,Presenter还负责处理后台任务。
.View是指显示数据并且和用户交互的层。在安卓中,它们可以是一个Activity,一个Fragment,一个android.view.View或者是一个Dialog。
MVP的全称为Model-View-Presenter,Model提供数据,View负责显示,Controller/Presenter负责逻辑的处理。MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller。

‘陆’ 什么是Activity

Activity
首先,Activity是Android系统中的四大组件之一,可以用于显示View。Activity是一个与用记交互的系统模块,几乎所有的Activity都是和用户进行交互的,但是如果这样就能说Activity主要是用来显示View就不太正确了。

在深入了解Activity之前,我们先要知道一下MVC设计模式,在JAVAEE 中MVC设计模式已经很经典了,而且分的也比较清晰了,但是在Android中,好多人对MVC在Android开发中的应用不是很清楚,下面我就先来介绍一下MVC在Android开发中的应用:

M(Model 模型):Model是应用程序的主体部分,所有的业务逻辑都应该写在这里,在Android中Model层与JavaEE中的变化不大,如:对数据库的操作,对网络等的操作都放在该层(但不是说它们都放在同一个包中,可以分开放,但它们统称为Model层)。
V(View 视图):是应用程序中负责生成用户界面的部分,也是在整个MVC架构中用户唯一可以看到的一层,接收用户输入,显示处理结果;在Android应用中一般采用XML文件里德界面的描述,使用的时候可以非常方便的引入,当然也可以使用JavaScript+Html等方式作为View。
C(Controller控制层)android的控制层的重任就要落在众多的activity的肩上了,所以在这里就要建议大家不要在activity中写太多的代码,尽量能过activity交割Model业务逻辑层处理。

好了,在介绍过Android应用开发中的MVC架构后,我们就可以很明确的知道,在Android中Activity主要是用来做控制的,它可以选择要显示的View,也可以从View中获取数据然后把数据传给Model层进行处理,最后再来显示出处理结果。

‘柒’ android mvp m层主要是处理请求吗

MVP(Model
View
Presenter)模式是着名的MVC(Model
View
Controller)模式的进化版本。
MVP模式:
1.
View:View通常来说是由Activity实现的,它会包含一个Presenter的引用,View要做的就只是在每次有接口调用的时候(比如按钮点击后)调用Presenter的方法。
2.
Model:业务逻辑和实体模型
3.
Presenter:主要作为沟通View和Model的桥梁,它从Model层检索数据后,返回给View层,但是不像MVC结构,因为它也可以决定与View层的交互操作。
MVC模式:
1.
View:对应于布局文件
2.
Model:业务逻辑和实体模型
3.
Controller:控制器,Android中对应于Activity
在MVP模式中,View和Model的交互是需要Presenter来当作一个跳板。Model层负责的就是业务逻辑实现和请求结果回调,实体类也包括在其中。

热点内容
2012文件服务器如何新建用户 发布:2025-01-19 02:43:10 浏览:884
android复试 发布:2025-01-19 02:39:11 浏览:654
c获取文件夹中 发布:2025-01-19 02:33:48 浏览:547
如何查看360浏览器保存的密码 发布:2025-01-19 02:27:14 浏览:94
源码分享站 发布:2025-01-19 01:21:26 浏览:911
安卓如何设置方向锁定生效 发布:2025-01-19 01:21:25 浏览:72
iis上传限制 发布:2025-01-19 01:14:52 浏览:16
我的世界宝可梦服务器181 发布:2025-01-19 01:12:32 浏览:183
如何用云服务器挂游戏 发布:2025-01-19 01:09:19 浏览:211
电脑系统还原如何清除缓存 发布:2025-01-19 01:08:08 浏览:782