COIL是Coroutine Image Loader的首字母缩写。 COIL是Android中著名的图像加载库之一。它是一个现代的库,用于从服务器加载图像。该库用于从服务器,资产文件夹以及Android项目中的drawable文件夹加载图像。该库的重要功能是它快速,轻巧且易于使用。在本文中,我们将看到如何在Android Apps中使用此Image Loader库。
为什么我们应该使用COIL加载图像?
COIL图像加载库由Kotlin Coroutines提供,用于在Android中加载图像。该库是专门为在Kotlin中加载图像而设计的。它是现代的,易于使用的,轻巧的,并且可以快速从服务器加载图像。这是新的库,并提供了新的优化,可以非常有效地从服务器加载图像。由于Kotlin现在已被正式宣布为Android开发的首选语言,因此,对于加载图像,我们应该更喜欢使用COIL在Android中加载图像。
相较于毕加索,Glide和UIL,使用COIL有什么优势?
- Google正式宣布Kotlin是Android开发的首选语言,而COIL是使用Kotlin更好地优化的库。因此,使用Kotlin对该库进行优化后,可以更轻松地从服务器加载图像。
- COIL的优化速度非常快,其中包括内存,磁盘缓存,位图的重新使用以及在内存中对图像进行下调等多项优化操作,与其他图像加载库相比,它使其运行速度更快。
- COIL在您的APK中增加了约2000种方法,与Picasso,Glide和UIL相比数量要少得多。这使该库非常轻巧且易于使用。
- COIL是第一个在Kotlin中完全引入的图像加载库,它使用了一些现代的Android库,例如Okio,OkHttp和AndroidX生命周期。
COIL图像加载库的分步实现
步骤1:创建一个新项目
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Kotlin作为编程语言。
步骤2:在build.gradle文件中添加Coil Image Loading库的依赖项
导航到gradle脚本,然后构建到build.gradle(Module)级别。在依赖性部分的build.gradle文件中添加以下行。
implementation(“io.coil-kt:coil:1.1.0”)
添加依赖项后,单击右上角的“立即同步”选项以同步项目。
步骤3:在AndroidManifest.xml文件中添加互联网权限
导航到应用>清单以打开清单文件。在清单文件中,我们添加了Internet权限以从Internet加载图像。在清单文件中添加以下行。
步骤4:在activity_main.xml中创建一个新的ImageView。
导航到应用程序> res>布局以打开activity_main.xml文件。以下是activity_main.xml文件的代码。
XML
Kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ImageView
import coil.load
class MainActivity : AppCompatActivity() {
// image url that we will load in our image view.
val imgurl = "https://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200-1.png"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// val created for our imageview and
// initializing it with image id.
val img = findViewById(R.id.imageView)
// below line is for loading
// image url inside imageview.
img.load(imgurl) {
// placeholder image is the image used
// when our image url fails to load.
placeholder(R.drawable.ic_launcher_background)
}
}
}
步骤5:使用MainActivity.kt文件
转到MainActivity.kt文件,并参考以下代码。下面是MainActivity.kt文件的代码。在代码内部添加了注释,以更详细地了解代码。
科特林
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ImageView
import coil.load
class MainActivity : AppCompatActivity() {
// image url that we will load in our image view.
val imgurl = "https://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200-1.png"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// val created for our imageview and
// initializing it with image id.
val img = findViewById(R.id.imageView)
// below line is for loading
// image url inside imageview.
img.load(imgurl) {
// placeholder image is the image used
// when our image url fails to load.
placeholder(R.drawable.ic_launcher_background)
}
}
}