Weex从零开始(二)Android weex集成

添加依赖

将weex集成到现有Android项目中,首先需要添加如下依赖

compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.alibaba:fastjson:1.1.46.android'
compile 'com.taobao.android:weex_sdk:0.5.1@aar'

(版本可更高但不可低)

添加ImageAdapter

ImageAdapter需继承IWXImgLoaderAdapter接口,该接口要求实现setImage方法,我们需在此方法中实现自己的图片加载,此处以Glide加载图片为例:

public class ImageAdapter implements IWXImgLoaderAdapter {
    @Override
    public void setImage(String url, ImageView view, WXImageQuality quality, WXImageStrategy strategy) {
        Glide.with(WXApplication.app).
                load(url).
                into(view);
    }
}

初始化

在Application中

 InitConfig config=new InitConfig.Builder().setImgAdapter(new ImageAdapter()).build();
        WXSDKEngine.initialize(this,config);

此处的setimagadapter不可省略

在activity中集成

 WXSDKInstance mWXSDKInstance;
 mWXSDKInstance = new WXSDKInstance(this);
 mWXSDKInstance.registerRenderListener(this);
 mWXSDKInstance.render("WXSample", WXFileUtils.loadFileContent("hello.js", this), null, null, -1, -1, WXRenderStrategy.APPEND_ASYNC);

注册reisterrenderlistener,实现IWXRenderListener接口,包含如下方法供不同状态回调调用

void onViewCreated(WXSDKInstance instance, View view);
void onRenderSuccess(WXSDKInstance instance, int width, int height);
void onRefreshSuccess(WXSDKInstance instance, int width, int height);
void onException(WXSDKInstance instance, String errCode, String msg);

我们在onViewCreated中执行如下方法,在js加载完毕时setcontentview

 @Override
 public void onViewCreated(WXSDKInstance instance, View view) {
        setContentView(view);
    }

最后我们通过render方法加载本地的js文件

public void render(String pageName, String template, Map<String, Object> options, String jsonInitData, int width, int height, WXRenderStrategy flag)

run~~

device-2017-09-15-174134.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,179评论 25 708
  • iOS项目集成WeexSDK 在iOS工程中集成FrameWork无外乎两种,第一,项目支持cocoaPods,采...
    sweetpf阅读 4,513评论 3 10
  • 前言 Weex为了提高Native的极致性能,做了很多优化的工作 为了达到所有页面在用户端达到秒开,也就是网络(J...
    一缕殇流化隐半边冰霜阅读 13,390评论 11 73
  • 1 老爹的有一个神奇的盒子,我从来不知道里面是什么,好奇心指使我无数次想去偷看,可偏偏每次都被逮住。那次我去...
    十三楼月阅读 303评论 0 9
  • 开始写作吧 开始写作,因为写作是输出的一种方式,能够帮助我们更好的整理我们的思维,或者更准确的说,帮助我们提高我们...
    冒孙飞阅读 296评论 0 1