天天看點

android weex開發流程,Android Weex容器指南

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