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使用方式可以參考 官方文檔