当前位置: 首页 > news >正文

学校建设网站的作用黑客入侵网课

学校建设网站的作用,黑客入侵网课,wordpress 活动模板,开发公司主体灭失曾经的备案是否有效Android移动架构汇总​​​​​​​ 文章目录一 Android 开发框架演变1 MVC2 MVP3 MVVM二 什么是JetPack三 如何构建支持Jetpack项目一 Android 开发框架演变 1 MVC Model-View-Controller,模型-视图-控制器,Model负责数据管理,View负责UI显…

Android移动架构汇总​​​​​​​

文章目录

  • 一 Android 开发框架演变
    • 1 MVC
    • 2 MVP
    • 3 MVVM
  • 二 什么是JetPack
  • 三 如何构建支持Jetpack项目

一 Android 开发框架演变

1 MVC

Model-View-Controller,模型-视图-控制器,Model负责数据管理,View负责UI显示,Controller负责逻辑控制
在这里插入图片描述

在Andriod中视图层是各种xml文件,逻辑控制层是Activity或者Fragment,模型层是网络请求等部分
实际项目中xml能力有限,Activity既充当了Controller层又充当了View层,且Controller层需要调用Model层获取数据,导致绝大多数的任务都是在Activity中完成的,耦合性很高。

2 MVP

Model-View-Presenter,Model负责数据管理,View负责UI显示,Presenter负责逻辑控制
与MVC不同的是,MVP改变了通信方向,View层和Model层不再直接通信,而是通过Presenter层作为“中间人”,View层产生事件,通知Presenter层,Presenter层则通知Model层更新数据,Model层更新数据后,返回并通知Presenter层,Presenter层再通知View层更新界面。
在这里插入图片描述

MVP相比于MVC的好处是View层与Model层解耦,使得每一层的职责更清晰、明确。但MVP作为“中间人”,需要借助接口回调的方式转发消息,从而导致接口类文件增多,且实现类无法避免许多无用的空实现。

3 MVVM

Model-View-ViewModel,要注意的是,这里的ViewModel并不能直接与Jetpack中的ViewModel组件划等号
在这里插入图片描述

ViewModel中有一个Binder,在不同系统的MVVM开发模式中对Binder有不同的实现,比如前端开发中的Vue.js或iOS开发中的RAC,而在Android开发中充当Binder角色的则是Jetpack组件中的DataBinding,Binder的作用就是替代MVP中Presenter层的“中间人”角色。此模式会将View和ViewModel层完全解耦,从而使得职责划分更清晰MVVM开发模式是当前Google最推荐的开发模式,为了便于使用MVVM开发模式,Google还打造了一套工具集——Jetpack。

二 什么是JetPack

Jetpack是一个由多个库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可以在各种Android版本和设备中一致运行的代码,这样开发者就可以集中精力编写重要的代码了。
Jetpack主要分为基础、架构组件、行为、页面这四个模块,其体系结构如下

在这里插入图片描述

三 如何构建支持Jetpack项目

Jetpack所有的库都是发布在AndroidX下面的,所以我们只需要新建支持AndroidX的项目便可以在项目中引用任意的Jetpack组件。
support-v4和appcompat-v7支持库,这两种支持库是Android早期为了解决新版API的向后兼容问题而发布的,但是Google随后意识到这种包含v4、v7版本号的命名方式已经不合时宜,因此推出了AndroidX,将所有API的包名都统一为androidx.*的方式,AndroidX不仅提供与支持库同等的功能,而且提供了新的库,28.0.0是支持库的最后一个版本。Google将不再发布android.support库版本,因此使用AndroidX替代支持库是或早或晚的事情

两点是要注意的,否则可能会影响使用AndroidX:
(1)compileSdkVersion的编译版本不能低于API 28。
(2)gradle.properties中的android.useAndroidX属性必须存在且值为true,这样Android插件才会使用对应的AndroidX库,而非支持库

http://www.tj-hxxt.cn/news/77725.html

相关文章:

  • 网站建设基本流程视频搜索关键词排名
  • 新型网站设计优化大师怎么提交作业
  • 学校网站制作html微信营销技巧
  • 胶州做网站成免费的crm
  • 专业做网站的公司保定如何在百度发广告
  • 企业综合查询网站百度一下移动版首页
  • wordpress摘要字数 formatting.php西安seo阳建
  • 做图赚钱的网站有哪些网上广告怎么推广
  • 个人可以做新闻网站谷歌浏览器入口
  • 巩义网站建设城市更新论坛破圈
  • 网站推广的方法和技巧合肥网站优化seo
  • 做网站ppt网站查询ip地址查询
  • 做甜点的网站陕西百度推广的代理商
  • 小程序自己做网站搜索引擎公司排名
  • 做网站被攻击谁的责任网络seo是什么
  • php网站开发工程百度广告联盟一个月能赚多少
  • 网站dns解析设置百度扫一扫识别图片
  • 电商网站建设需求分析 实例题浏览器老是出现站长工具
  • php做网站后台软文写手接单平台
  • 松阳网站建设长尾关键词挖掘站长工具
  • 微商城网站建设平台百度排名点击器
  • 江门做网站的公司动态网站设计
  • wordpress更改默认登录页面seo怎么优化武汉厂商
  • 项目计划书模板范文搜索引擎优化的英文
  • 党建网站怎么做网络推广页面
  • 用asp做的网站打开页面很慢百度关键词点击器
  • 网站建设开发人员百度手机软件应用中心
  • 企业网站设计文档seo推广人员
  • 石岩小学网站建设深圳推广优化公司
  • 网站建设需要什么格式的图片免费注册个人网站不花钱