赞
踩
EMAS-WEEX使用指南
EMAS-WEEX初始化请参考Android接入文档,这里主要介绍EMAS-WEEX API使用。
EMAS-WEEX是EMAS官方提供的WEEX基础库,提供对weex官方sdk的实用封装以及各种实用、通用组件,目的在于降低EMAS用户对于WEEX的接入、使用成本。
以上章节中已经在gradle依赖和初始化中对EMAS-WEEX做了相应的依赖和初始化操作,这里讲解一些开发过程中使用EMAS-WEEX的使用要点,推荐用户使用EMAS-WEEX而不是weex官方sdk。
使用WeexPageFragment
除了weex官方sdk的Activity用法外,EMAS-WEEX提供了fragment的方式供渲染weex界面,建议直接继承自WeexPageFragment使用。
可以使用WeexPageFragment的newInstanceWithUrl/newInstanceWithTemplate方法渲染一个weex fragment,支持远程和本地文件渲染,渲染后将绘制到最后一参数所指定的view中
WeexPageFragmentfragment;
if(jsSource.startsWith("http")){
fragment=(WeexPageFragment)WeexPageFragment
.newInstanceWithUrl(this,WeexFragment.class,jsSource,getRenderUrl(jsSource),R.id.frame_root_layout);
}else{
fragment=(WeexPageFragment)WeexPageFragment.newInstanceWithTemplate(this,WeexFragment.class,
WXFileUtils.loadAsset(jsSource,mContext),jsSource,
null,null,R.id.frame_root_layout);
}
fragment.setDynamicUrlEnable(true);
降级
WeexPageFragment提供了默认的降级处理机制,当weex脚本因为各种问题出错且。以被降级时,将通过webview来渲染界面提供兜底策略,避免crash发生。只需要调用setEnableDowngrade方法打开开关即可。
publicclassWeexFragmentextendsWeexPageFragment{
@Override
publicvoidonCreate(@NullableBundlesavedInstanceState){
super.onCreate(savedInstanceState);
setEnableDowngrade(true);//打开weex跨平台降级处理
}
}
注意,只有渲染线上url方式的weex界面,降级服务才是可用的,同时需要url服从以下格式:
http://cdn.emas-poc.com/material/yanpeicpf/index.html?_wx_tpl=http://cdn.emas-poc.com/app/yanpeicpf-bbb/pages/index/entry.js
_wx_tpl标记后是需要渲染的weex脚本地址(后缀名js/wx等都可以),_wx_tpl标记前是发生错误时需要降级到的H5地址。
使用WEEX DEVTOOL
EMAS-WEEX集成了官方WEEX DEVTOOL SDK,可以通过WeexInspectorManager.startInspector开启。
使用示例:
privatevoidhandleScanCodeResult(Stringresult){
Uriuri=Uri.parse(result);
if(uri==null){
Log.e(TAG,"scan result null, return");
}else{
if(WeexInspectorManager.startInspector(uri,mContext)){
Toast.makeText(this,"连接调试模式",Toast.LENGTH_SHORT).show();
}else{
// 展示weex界面
}
}
}
您可以将扫码后的结果传入到handleScanCodeResult方法中做处理。
WEEX DEVTOOL使用方式可以参考 官方文档
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。