Weex Adapter

版权声明:有些文章写的很随意,那是仅作为个人记录的文章,建议直接关掉,多看一秒亏一秒 https://blog.csdn.net/qq_36523667/article/details/82292462

学习自

https://www.jianshu.com/p/8e85ef17381f

Weex没有实现图片加载功能,可以用Adapter来实现

注册Adapter

Adapter的注册:

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

加载图片的Adapter的实现:

public class WeexImageAdapter implements IWXImgLoaderAdapter {

    @Override
    public void setImage(String url, ImageView view, WXImageQuality quality, WXImageStrategy strategy) {
        Glide.with(view.getContext())
                .load(url)
                .error(R.mipmap.me_image_man)
                .into(view);
    }
}

看到这里我大概明白了:

Weex抽象了移动端,在这里,Weex抽象了常见功能场景的一部分。比如图片加载,图片的获取被抽象出来;网络请求,真正的请求部分被抽象了出来。

所以Adapter就是Weex从功能场景抽象出来的一部分功能,这些在Android里都是写死的。

看看有啥

网络的,图片获取的,存储的。。。

所以可想而知,功能部分的替换,完全变成了Native层的编程。本来功能的实现就是依赖于Native层,现在只是给Native层的某功能替换一部分,所以无需改动JS层。

然后你还需要明确一点,这个功能的部分替换是Adapter,在Native层。但是这个功能整体,是Module或者Component,依然需要走JS层。网络请求就是一个默认的Module(我猜的)

注册

就很简单了,Native层的功能比如网络请求本来就留好口子了,所以只需要改改参数就可以了

调用

不用说了,整体就是Module或者Component。

插一句,Weex是可以使用Android drawable里的图片的。原理很简单,看上面链接。

猜你喜欢

转载自blog.csdn.net/qq_36523667/article/details/82292462