Glide :一个android平台上的快速和高效的开源的多媒体资源管理库, 提供 多媒体文件的压缩,内存和磁盘缓存, 资源池的接口

来源:互联网 发布:txt阅读软件下载 编辑:程序博客网 时间:2024/05/16 01:26

Glide 是一个android平台上的快速和高效的开源的多媒体资源管理库, 提供 多媒体文件的压缩,内存和磁盘缓存, 资源池的接口

glide_logo

Glide 支持获取,解压展示视频, 图像和GIFs,  Glide有一个可弹性的api可以让开发者自定义网络栈技术, 默认使用HttpUrlConnection , 你可以替换为  Google’s Volley或者 OkHttp

Glide 开始的目的是提供一个快速和平滑展示图片列表, 但是Glide对你需要拉取, resize 和展示远程的图片这些场景都是很管用的.

下载

可以在github上下载 release page.

或者使用Gradle

1
2
3
4
5
6
7
8
repositories {
  mavenCentral()
}
 
dependencies {
    compile'com.github.bumptech.glide:glide:3.3.+'
    compile'com.android.support:support-v4:19.1.0'
}

Maven

1
2
3
4
5
6
7
8
9
10
11
<dependency>
  <groupId>com.github.bumptech.glide</groupId>
  <artifactId>glide</artifactId>
  <version>3.3.1</version>
  <type>aar</type>
</dependency>
<dependency>
  <groupId>com.google.android</groupId>
  <artifactId>support-v4</artifactId>
  <version>r7</version>
</dependency>

使用

参考这里 GitHub wiki 和这里 javadocs.

简单的例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// For a simple view:
@Override
publicvoid onCreate(Bundle savedInstanceState) {
    ...
 
    ImageView imageView = (ImageView) findViewById(R.id.my_image_view);
 
    Glide.with(this).load("http://goo.gl/h8qOq7").into(imageView);
}
 
// For a list:
@Override
publicView getView(intposition, View recycled, ViewGroup container) {
    finalImageView myImageView;
    if(recycled == null) {
        myImageView = (ImageView) inflater.inflate(R.layout.my_image_view,
                container,false);
    }else {
        myImageView = (ImageView) recycled;
    }
 
    Stringurl = myUrls.get(position);
 
    Glide.with(myFragment)
        .load(url)
        .centerCrop()
        .placeholder(R.drawable.loading_spinner)
        .crossFade()
        .into(myImageView);
 
    returnmyImageView;
}

Volley

如果你想使用Volley

Gradle

1
2
3
4
dependencies {
    compile'com.github.bumptech.glide:volley-integration:1.0.+'
    compile'com.mcxiaoke.volley:library:1.0.+'
}

Maven:

1
2
3
4
5
6
7
8
9
10
11
12
<dependency>
    <groupId>com.github.bumptech.glide</groupId>
    <artifactId>volley-integration</artifactId>
    <version>1.0.1</version>
    <type>jar</type>
</dependency>
<dependency>
    <groupId>com.mcxiaoke.volley</groupId>
    <artifactId>library</artifactId>
    <version>1.0.5</version>
    <type>aar</type>
</dependency>

然后在你的Activity或者程序中,注册Volley为基本模块

1
2
3
4
5
publicvoid onCreate() {
  Glide.get(this).register(GlideUrl.class, InputStream.class,
        newVolleyUrlLoader.Factory(yourRequestQueue));
  ...
}

 

OkHttp

Gradle:

1
2
3
4
dependencies {
    compile'com.github.bumptech.glide:okhttp-integration:1.0.+'
    compile'com.squareup.okhttp:okhttp:2.0.+'
}

Maven:

1
2
3
4
5
6
7
8
9
10
11
12
<dependency>
    <groupId>com.github.bumptech.glide</groupId>
    <artifactId>okhttp-integration</artifactId>
    <version>1.0.1</version>
    <type>jar</type>
</dependency>
<dependency>
    <groupId>com.squareup.okhttp</groupId>
    <artifactId>okhttp</artifactId>
    <version>2.0.0</version>
    <type>jar</type>
</dependency>

 

然后在你的Activity或者程序中,注册Volley为基本模块
1
2
3
4
5
publicvoid onCreate() {
  Glide.get(this).register(GlideUrl.class, InputStream.class,
        newOkHttpUrlLoader.Factory(yourOkHttpClient));
  ...
}

github地址 https://github.com/bumptech/glide




转载自:http://hao.jobbole.com/glide/

0 0
原创粉丝点击