README tr
Kotlin Coroutines tarafından desteklenen Android için bir görüntü yükleme kütüphanesi. Coil şunlardır:
- Hızlı: Coil, bellek ve disk önbellekleme, bellekteki görüntünün örnekleme yapılması, otomatik olarak isteklerin durdurulması/iptal edilmesi ve daha fazlası dahil olmak üzere bir dizi optimizasyon gerçekleştirir.
- Hafif: Coil, APK'nıza ~2000 yöntem ekler (halihazırda OkHttp ve Coroutines kullanan uygulamalar için), bu da Picasso ile karşılaştırılabilir ve Glide ve Fresco'dan önemli ölçüde daha azdır.
- Kullanımı Kolay: Coil'in API'si, basitlik ve minimum kod tekrarı için Kotlin'in dil özelliklerinden yararlanır.
- Modern: Coil, öncelikle Kotlin'e dayanır ve Coroutines, OkHttp, Okio ve AndroidX Lifecycle gibi modern kütüphaneleri kullanır.
Coil, Coroutine Image Loader'ın kısaltmasıdır.
Çeviriler: 日本語, 한국어, Русский, Svenska, Türkçe, 中文
İndirme¶
Coil, mavenCentral()
üzerinde mevcuttur.
Hızlı Başlangıç¶
ImageViews¶
Bir görüntüyü bir ImageView
'a yüklemek için load
uzantı fonksiyonunu kullanın:
// URL
imageView.load("https://example.com/image.jpg")
// Dosya
imageView.load(File("/path/to/image.jpg"))
// Ve daha fazlası...
İstekler, isteğe bağlı bir kapanan lambda ile yapılandırılabilir:
imageView.load("https://example.com/image.jpg") {
crossfade(true)
placeholder(R.drawable.image)
transformations(CircleCropTransformation())
}
Jetpack Compose¶
Jetpack Compose uzantı kütüphanesini içe aktarın:
Bir görüntü yüklemek için, AsyncImage
bileşenini kullanın:
Görüntü Yükleyiciler¶
imageView.load
ve AsyncImage
hem görüntü isteklerini yürütmek için singleton ImageLoader
'ı kullanır. Singleton ImageLoader
'a bir Context
genişletme fonksiyonu kullanarak erişilebilir:
ImageLoader
'lar paylaşılabilir olarak tasarlanmıştır ve uygulamanız boyunca tek bir örnek oluşturup paylaştığınızda en verimlidir. Bununla birlikte, kendi ImageLoader
örneğinizi de oluşturabilirsiniz:
Eğer singleton ImageLoader
istemiyorsanız, io.coil-kt:coil
yerine io.coil-kt:coil-base
bağımlılığını kullanın.
İstekler¶
Bir görüntüyü özel bir hedefe yüklemek için bir ImageRequest
'i enqueue
edin:
val request = ImageRequest.Builder(context)
.data("https://example.com/image.jpg")
.target { drawable ->
// Sonucu işleyin.
}
.build()
val disposable = imageLoader.enqueue(request)
Bir görüntüyü mecburi bir şekilde yüklemek için bir ImageRequest
'i execute
edin:
val request = ImageRequest.Builder(context)
.data("https://example.com/image.jpg")
.build()
val drawable = imageLoader.execute(request).drawable
Coil'in tam belgelerini buradan inceleyin.
R8 / Proguard¶
Coil, R8 ile uyumlu olarak kutudan çıkar ve ekstra kurallar eklemeyi gerektirmez.
Eğer Proguard kullanıyorsanız, Coroutines ve OkHttp için kurallar eklemeniz gerekebilir.
Lisans¶
Copyright 2024 Coil Contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.