📜  如何在Android Apps中使用COIL Image Loader库?

📅  最后修改于: 2021-05-08 20:34:49             🧑  作者: Mango

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文件中添加以下行。

添加依赖项后,单击右上角的“立即同步”选项以同步项目。

步骤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)
        }
    }
}

输出:

COIL图像加载器库输出

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!