MCPcopy Index your code
hub / github.com/AweiLoveAndroid/ImageLoaderProcessor

github.com/AweiLoveAndroid/ImageLoaderProcessor @v1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0 ↗ · + Follow
78 symbols 152 edges 11 files 22 documented · 28%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ImageLoaderProcessor

优雅的实现Android主流图片框架封装,可无缝侵入切换图片框架

使用方式如下:

一、首先在application里面声明使用哪个框架

public class MyApp extends Application{
    @Override
    public void onCreate() {
    super.onCreate();

    //这里只需要一行代码切换图片加载框架,6不6!!!

    //初始化Picasso方式加载图片
    ImageLoaderHelper.setImageLoader(new PicassoLoaderProcessor(new LoaderOptions()));

    //初始化Glide方式网络请求代理
    //ImageLoaderHelper.setImageLoader(new GlideLoaderProcessor());
    }
}

二、在代码里面具体使用*

public class MainActivity extends AppCompatActivity {

    private ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    imageView = (ImageView) findViewById(R.id.iv);

    //真正的加载图片的操作
    ImageLoaderHelper.getsInstance()
        .loadImage(imageView,R.mipmap.ic_launcher)//参数1为控件,参数2为要下载的图片
        .setLoaderOptions(new LoaderOptions.Builder()//设置图片具体的参数
            .angle(2)//角度
            .centerCrop()//填充方式,它与centerInside不能同时使用
            //.centerInside()
            .config(Bitmap.Config.RGB_565)
            .error(R.drawable.ic_holder)//加载失败显示的图片
            .placeHolder(R.drawable.ic_holder)//占位图
            .reSize(200,200)
            .build())
        .clearDiskCache()//清理缓存
        .clearMemoryCache();//清理内存缓存
    }
}

是不是很简单?

Extension points exported contracts — how you extend this code

ILoaderProxy (Interface)
通用接口 提取各个框架通用的View,path/file文件路径,通过LoaderOptions解决大量不同参数传入的问题 [6 implementers]
app/src/main/java/com/lzw/imageprocessor/ILoaderProxy.java
ICallback (Interface)
回调接口
app/src/main/java/com/lzw/imageprocessor/ICallback.java

Core symbols most depended-on inside this repo

obtain
called by 7
app/src/main/java/com/lzw/imageprocessor/PicassoLoaderProcessor.java
loadImage
called by 4
app/src/main/java/com/lzw/imageprocessor/ILoaderProxy.java
getPicasso
called by 4
app/src/main/java/com/lzw/imageprocessor/PicassoLoaderProcessor.java
setLoaderOptions
called by 3
app/src/main/java/com/lzw/imageprocessor/ILoaderProxy.java
loadOptions
called by 3
app/src/main/java/com/lzw/imageprocessor/PicassoLoaderProcessor.java
isEmpty
called by 3
app/src/main/java/com/lzw/imageprocessor/cache/LruCacheUtils.java
clearMemoryCache
called by 2
app/src/main/java/com/lzw/imageprocessor/ILoaderProxy.java
clearDiskCache
called by 2
app/src/main/java/com/lzw/imageprocessor/ILoaderProxy.java

Shape

Method 64
Class 12
Interface 2

Languages

Java100%

Modules by API surface

app/src/main/java/com/lzw/imageprocessor/PicassoLoaderProcessor.java18 symbols
app/src/main/java/com/lzw/imageprocessor/LoaderOptions.java12 symbols
app/src/main/java/com/lzw/imageprocessor/GlideLoaderProcessor.java12 symbols
app/src/main/java/com/lzw/imageprocessor/cache/LruCacheUtils.java10 symbols
app/src/main/java/com/lzw/imageprocessor/ImageLoaderHelper.java9 symbols
app/src/main/java/com/lzw/imageprocessor/ILoaderProxy.java6 symbols
app/src/main/java/com/lzw/imageprocessor/ICallback.java3 symbols
app/src/test/java/com/lzw/imageprocessor/ExampleUnitTest.java2 symbols
app/src/main/java/com/lzw/imageprocessor/ui/MyApp.java2 symbols
app/src/main/java/com/lzw/imageprocessor/ui/MainActivity.java2 symbols
app/src/androidTest/java/com/lzw/imageprocessor/ExampleInstrumentedTest.java2 symbols

For agents

$ claude mcp add ImageLoaderProcessor \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact