android 整合weex
android端整合weex: 1》、gradle: minSdkVersion 16 大於16 implementation 'com.android.support:recyclerview-v7:26.1.0' implementation 'com.alibaba:fastjson:1.1.46.android' implementation 'com.taobao.android:weex_sdk:0.16.0' implementation 'com.lqr.imagepicker:library:1.0.0' 2》、Application:create裡
import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.view.View; import com.taobao.weex.IWXRenderListener; import com.taobao.weex.WXSDKInstance; public abstract class BaseActivity extends AppCompatActivity implements IWXRenderListener { protected WXSDKInstance mWXSDKInstance; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); mWXSDKInstance = new WXSDKInstance(this); mWXSDKInstance.registerRenderListener(this); } @Override public void onViewCreated(WXSDKInstance instance, View view) { setContentView(view); } @Override public void onRenderSuccess(WXSDKInstance instance, int width, int height) { } @Override public void onRefreshSuccess(WXSDKInstance instance, int width, int height) { } @Override public void onException(WXSDKInstance instance, String errCode, String msg) { } @Override protected void onResume() { super.onResume(); if (mWXSDKInstance != null) { mWXSDKInstance.onActivityResume(); } } @Override protected void onPause() { super.onPause(); if (mWXSDKInstance != null) { mWXSDKInstance.onActivityPause(); } } @Override protected void onStop() { super.onStop(); if (mWXSDKInstance != null) { mWXSDKInstance.onActivityStop(); } } @Override protected void onDestroy() { super.onDestroy(); if (mWXSDKInstance != null) { mWXSDKInstance.onActivityDestroy(); } } }
4》、manifest需要程式碼編輯 <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <action android:name="com.taobao.android.intent.action.WEEX" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="com.taobao.android.intent.category.WEEX" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" /> <data android:scheme="https" /> <data android:scheme="file" /> <data android:scheme="wxpage" /> </intent-filter> </activity> 5》、MainActivity裡面的使用: String path = "dist/components/main.js"; mWXSDKInstance.render("index", WXFileUtils.loadAsset(path, mWXSDKInstance.getContext()), null, null, -1, -1, WXRenderStrategy.APPEND_ASYNC);
6》、src/assets下,weex打包的js靜態程式碼資源 7》、最後確保呼叫的path和assets下的靜態資源正確,即可執行看效果