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

php开发网站项目心得wordpress 页面403

php开发网站项目心得,wordpress 页面403,网站标题优化 英文,企业网服务器如何搭建目录 一、MVC、MVP和MVVM框架的使用场景二、Java使用 一、MVC、MVP和MVVM框架的使用场景 MVC: 适用于小型项目,够灵活, 缺点:Activity不仅要做View的事情还要做控制和模型的处理,导致Activity太过臃肿,管理…

目录

  • 一、MVC、MVP和MVVM框架的使用场景
  • 二、Java使用

一、MVC、MVP和MVVM框架的使用场景

  • MVC: 适用于小型项目,够灵活,
    缺点:Activity不仅要做View的事情还要做控制和模型的处理,导致Activity太过臃肿,管理混乱,没有单一职责,耦合度、扩展性都不太好

  • MVP:适用于大型项目、业务很重、项目很大,必须分层清楚,因为开发的人太好
    优点:分层特别清晰
    缺点:出现接口过多、接口地狱问题

  • MVVM: 适用于界面更新很频繁,比如网易云音乐、腾讯视频
    DataBinding 是一个工具集,不属于哪个框架,在MVVM框架中用于完成View层与ViewModel层的双向绑定
    大部分情况下,MVVM框架都会使用DataBinding;小部分情况下,MVP框架也可以使用

新的开发模块:数据驱动开发(DataBinding + ViewModel + LiveData)

特别注意:MVVM模式下的ViewModel(VM)和 Jetpack的ViewModel 不是同一东西,MVVM中的ViewModel是层次结构,而Jetpack的ViewModel是组件库。

永远没有哪个模式最好,只有哪个模式适合你的项目才是最好的

二、Java使用

activity_main.xml布局文件:

<?xml version="1.0" encoding="utf-8"?>
<!-- layout是DataBinding管理了 我们整个布局 -->
<layout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"><data><!-- 这里面type写全路径 不是用于反射 --><variablename="user"type="com.example.mydatabinding.model.User"></variable></data><!-- 上面的是DataBinding 内部用的,注意:Android View体系不认识--><!-- Android View体系的 下面的所有内容 会给Android绘制 --><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><!-- @=表示 View -> Model 数据传输(一向) --><EditTextandroid:id="@+id/et1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:hint="Hello World!"android:text="@={user.name}"android:textSize="50sp"/><EditTextandroid:id="@+id/et2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:hint="Hello World!"android:text="@={user.pwd}"android:textSize="50sp"/></LinearLayout>
</layout>

编译之后会生成两个布局文件

  1. app/build/intermediates/data_binding_layout_info_type_merge/debug/out/ 目录下生成 activity_main-layout.xml文件
    activity_main-layout.xml
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Layout directory="layout" filePath="app\src\main\res\layout\activity_main.xml"isBindingData="true" isMerge="false" layout="activity_main"modulePackage="com.example.mydatabinding" rootNodeType="android.widget.LinearLayout"><Variables name="user" declared="true" type="com.example.mydatabinding.model.User"><location endLine="10" endOffset="18" startLine="7" startOffset="8" /></Variables><Targets><Target tag="layout/activity_main_0" view="LinearLayout"><Expressions /><location endLine="42" endOffset="18" startLine="18" startOffset="4" /></Target><Target id="@+id/et1" tag="binding_1" view="EditText"><Expressions><Expression attribute="android:text" text="user.name"><Location endLine="29" endOffset="39" startLine="29" startOffset="12" /><TwoWay>true</TwoWay><ValueLocation endLine="29" endOffset="37" startLine="29" startOffset="29" /></Expression></Expressions><location endLine="31" endOffset="13" startLine="24" startOffset="8" /></Target><Target id="@+id/et2" tag="binding_2" view="EditText"><Expressions><Expression attribute="android:text" text="user.pwd"><Location endLine="38" endOffset="38" startLine="38" startOffset="12" /><TwoWay>true</TwoWay><ValueLocation endLine="38" endOffset="36" startLine="38" startOffset="29" /></Expression></Expressions><location endLine="40" endOffset="13" startLine="33" startOffset="8" /></Target></Targets>
</Layout>

这个xml文件就相当于activity_main.xml布局文件中的这一截里面的内容
2. 在 app/build/intermediates/incremental/mergeDebugResources/stripped.dir/layout/ 目录下生成 activity_main.xml文件,这个xml就相当于原activity_main.xml布局文件中的这一截里面的内容
activity_main.xml

<?xml version="1.0" encoding="utf-8"?><!-- layout是DataBinding管理了 我们整个布局 --><!-- 上面的是DataBinding 内部用的,注意:Android View体系不认识--><!-- Android View体系的 下面的所有内容 会给Android绘制 --><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:tag="layout/activity_main_0"><!-- @=表示 View -> Model 数据传输(一向) --><EditTextandroid:id="@+id/et1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:hint="Hello World!"android:tag="binding_1"android:textSize="50sp" /><EditTextandroid:id="@+id/et2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:hint="Hello World!"android:tag="binding_2"android:textSize="50sp" /></LinearLayout>
http://www.yayakq.cn/news/221341/

相关文章:

  • 合肥培训网站建设做网站二级页面的
  • 中山网站建设文化信息超级简历模板官网
  • 企业推广的网站wordpress模板友情链接添加
  • 国家建设执业注册中心网站赣州建设网
  • wordpress建站显示网站图标毕业设计 网站建设选题
  • 万户网站成都装修公司前十强
  • 8818网站建设网站制作品牌公司
  • 做详情页比较好的网站广州微信营销公司
  • 企业网站建设目标网站维护包含哪些内容
  • 什么是企业云网站建设柳州网站虚拟主机销售价格
  • 河北移动端网站建设515ppt模板网
  • 温州微网站制作公司推荐网站开发总结报告
  • 苏宁易购网站建设的思路wordpress分享 赞插件
  • 网站建设 英文怎么说珠海专业网站制作公司
  • 商务电商网站建设搜索引擎外部优化有哪些渠道
  • 网站建设论文参考文献以色列网站后缀
  • 广西建设学院官方网站手机百度如何发布广告
  • 亚马逊德国做deals 网站天津建设工程信息网评标专家
  • 手机html5网站模板自己能搞定吗?
  • 广东建设营销型网站wordpress音乐插件百度云
  • iis建立网站wordpress百度收录插件
  • 那个网站平台可以做兼职广州室内设计装修
  • 门户网站信息发布管理办法数据分析师培训需要多少钱
  • 合肥外贸网站建设公司排名wordpress 安装出现 过多重定向
  • 安阳网站建设网站开发 语言
  • 如何做一个与博物馆相关网站微信公众号文章里好看的图片在哪个网站做
  • 福州网站建设 找燕狂徒 04外贸做那种网站
  • 低价网站建设联系方式wordpress制作简易前台会员中心
  • 北京营销网站建站公司wordpress html模板
  • 免费手机wap网站西安高端网页制作