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

网站代备案本网站只做信息展示不提供在线交易

网站代备案,本网站只做信息展示不提供在线交易,网站排名如何做,提高审美的网站推荐前文《天猫客户端组件动态化的方案——VirtualView 上手体验》都提到了自定义模板编译成二进制数据的过程#xff0c;在 Android 版的 Playground 里内置了一个编译工具可以实时调测#xff0c;然而业务开发过程中#xff0c;不可能在手机上编译#xff0c;而是在电脑或者后…前文《天猫客户端组件动态化的方案——VirtualView 上手体验》都提到了自定义模板编译成二进制数据的过程在 Android 版的 Playground 里内置了一个编译工具可以实时调测然而业务开发过程中不可能在手机上编译而是在电脑或者后台去编译模板。因此这里提供了一个独立的工具来编译模板这里介绍下它的使用方法。 相关开源库 Android Tangram-AndroidVirtualview-AndroidiOS Tangram-iOSVirtualview-iOS前世今生 工具的源码也提交在 github 上。在一开始的设计里编译模块是针对控件来设计的每一个控件如 NText、NImage、VHLayout 等都有自己的编译类编译类的继承结构体系与控件本身的继承结构体系一样。它们各自会解析对应控件的属性及控件本身的类型将其转换成整型值或索引序列化到最终输出文件里这就带来了一个问题当需要扩展控件属性或者添加自定义控件的时候需要编写一个新的编译类注册到编译工具里这对开发者来说十分不友好且不说还得搭建编译工具工程的本身的运行环境还得熟悉编译器类的编写逻辑才行。从下图的原始设计图就可以看出其复杂性。 为了解决这一弊端对原始设计进行了重构重构的核心目标就是不依赖源码就能进行模板编译思路是通过配置化的方式声明描述控件类型、属性类型、解析方式等方案实施上是将原先针对控件编写编译类的模式改成针对属性来编译写编译类只需要一个通用的属性编译类即可具体行为都通过配置文件来描述。将重构后的工具模板导出可执行文件就可以在项目中直接使用了。废话了这么多接下来就是本文的重点了。 使用说明 独立运行模式 文件介绍 下载源码之后可执行工具存放在目录 TemplateWorkSpace 里包含以下几个文件/目录或运行后产生 文件作用config.properties配置组件 ID、xml 属性对应的 value 类型templatelist.properties编译的模板文件列表build二进制文件的输出目录templatexml 的存放路径compiler.jarjava 代码编译后 jar 文件执行 xml 的编译逻辑buildTemplate.sh编译执行文件如何运行 打开命令行 执行 sh buildTemplate.sh模板编译后的文件会输出到 build 路径下配置 config.properties VIEW_ID_XXXX 配置 xml 节点 id如配置 VIEW_ID_FrameLayout1则 xml 节点中的 FrameLayout 在编译后会用数值1代替节点配置以 VIEW_ID_ 开头propertyValueType 配置属性值的类型配置对所有模板生效不支持在 1.xml 和 2.xml 中对相同的属性用不同的 ValueType 解析目前已经支持 常规类型String(默认不需要配置)、Float、Color、Expr、Number、Int、Bool特殊类型 Flag、Type、Align、LayoutWidthHeight、TextStyle、DataMode、Visibility枚举类型 Enumname:value,…… 枚举说明 如配置 flexDirectionEnumrow:0,row-reverse:1,column:2,column-reverse:3在解析属性是配置 row 直接转化成 int:0row-reverse 转成 int:1DEFAULT_PROPERTY_XXXX 为了兼容就模板的编译写的强制在二进制中写入一些属性类型定义可以忽略配置 templatelist.properties 格式 xmlFileNameoutFileName,Version[,platform] xmlFileName 标识 template 目录下需要编译的 xml 文件名建议不带 .xml 后缀目前做了兼容outFileName 输出到 build 目录下的 .out 文件名Version 表示 xml 编译后的版本号platform 同时兼容 iOS 和 android 时不写可填的值为 android 和iphonexml 文件模板编写 和以前的方式一样不需要额外写 Java 代码只需要对新增的属性在config.properties 中配置 ValueType接口模式 除了直接使用命令行执行工具还可以基于此搭建完整成熟的模板工具它可以是个客户端也可以是个后端服务或者是个插件所以需要提供接口模式供宿主程序调用。 //初始化构建对象 ViewCompilerApi viewCompiler new ViewCompilerApi(); //设置配置文件加载器 viewCompiler.setConfigLoader(new LocalConfigLoader()); //读取模板数据 FileInputStream fis new FileInputStream(rootDir); //调用接口传入必备参数此时不区分平台如果要区分平台使用方单独编译即可 byte[] result viewCompiler.compile(fis, icon, 13); 复制代码
http://www.sadfv.cn/news/286540/

相关文章:

  • 怎么做网站后期推广平面设计接单软件
  • 怎么建设一个外国网站榆林免费做网站公司
  • 那个网站做租赁好两个wordpress数据同步
  • 好的建筑设计网站推荐建站平台功能结构图
  • 白酒营销网站wordpress单号管理系统
  • 郑州做食用菌配送的网站做网站算 自由职业者
  • 互联网情况下做企业网站的有点企业管理培训课程感想
  • 彩票网站搭建 做网站济南建设银行网站
  • 珠宝商城网站设计重庆网站设计哪家公司好
  • 大型网站快速排名百度引擎入口
  • 企业如何在自己的网站上做宣传小程序代理加盟有哪些大品牌
  • 淘宝二官方网站是做啥的局网站建设意见
  • 旅游网站后台管理系统电商网站建设目的
  • 浅谈全球五金网电子商务网站建设app开发费用大概多少
  • wordpress获取文章图片wordpress 数据库优化插件
  • 汕头模板做网站dw手机网站建设
  • 做图赚钱的网站有哪些aws网站建设
  • 网站建设pdf下载中英文版网站是怎么做的
  • 德州市建设小学网站公司做网站的优势
  • 网站维护一年多少钱新手学做网站pdf下载
  • 网络优化工程师为什么都说坑人杭州网站推广与优化
  • 做网站一次付费人才招聘网站开发 源代码
  • 南宁五象新区建设投资集团网站金湖建设局网站
  • 国外 作品集 网站品牌设计公司哪家好
  • php在电子商务网站建设中的应用研究 戴书浩南宁微信网站制作
  • 营销型网站建站推广温州网站建设方案书
  • 做自动发卡密网站的教程小城镇建设的网站
  • 网站建设需要服务器空间做网站经营流量
  • 北滘禅城网站建设移动网站模板下载
  • 品牌网站建设找顺的杭州seo网站推广软件