今天我们来总结一下android与weex的交互。
其实android与weex的交互是有很多方式的,这些weex官网上面的android扩展都有,在这里我就只说一种,我认为比较实用,方便,好用的方法!!!
@JSMethod(uiThread = true)
public void openWx(String msg,JSCallback callback) {
}
这个就是交互的格式,上面的注解设置为true就是让其在主线程中运行,
openWx就是一个方法名,里面的两个参数:
msg就是weex给我们传的数据,
callback就是我们给weex回传的数据。
具体使用:
@JSMethod(uiThread = true)
public void openWx(String msg,JSCallback callback) {
Map<String, String> map = new HashMap();
map.put("message","传输数据成功");
callback.invoke(map);
}
我们就通过callback.invoke来给weex传数据
不一定用map,你想传什么你就callback就行!!!
我们也可以用weex的内置组件storage,来保存参数,然后weex直接通过key值就可以获取到我们保存的value值
// WXStorageModule storageModule = new WXStorageModule();
// storageModule.setItem("cpTitle", mTitle, null);
这个就是android使用storage来保存参数,cpTitle就是客户端和weex商谈好的一个key值,然后mTitle就是需要保存的值,storage里面只能存5M的数据,我们客户端只需要setitem就可以保存了,然后weex就可以通过这个key值去获取我保存的参数了!!
具体的使用:
@JSMethod(uiThread = true) public void getShare(String msg,JSCallback callback) { //用weex的内置组件storage,来保存参数, // WXStorageModule storageModule = new WXStorageModule(); // storageModule.setItem("cpTitle", "可以获取到", null); // callback.invoke(storageModule);
}
小白总结,希望对各位大佬有用!