Я использую jsoup для восстановления текста и изображений, этот код работал в другой программе, но в новом проекте я не могу восстановить изображения и не понимаю, почему. В logcast у меня есть следующая ошибка D / skia: --- Не удалось создать декодер изображения с сообщением 'unimplemented' прикрепил мой код
Спасибо за вашу помощь
класс ListNewsFragment: Fragment () {
private val url = "https://www.lacapsuleitalienne.com/d-couverte-aromatises"
private val listNews = mutableListOf<News>()
private lateinit var adapter: DataAdapter
companion object {
fun newInstance() = ListNewsFragment()
}
private lateinit var viewModel: ListNewsViewModel
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.list_news_fragment, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
viewModel = ViewModelProviders.of(this).get(ListNewsViewModel::class.java)
// TODO: Use the ViewModel
adapter = DataAdapter()
val llm = LinearLayoutManager(this.context)
rv.layoutManager = llm
rv.adapter = adapter
GlobalScope.launch {
getData()
}
}
private fun getData() {
try {
val document = Jsoup.connect(url).get()
val elements = document.select("li[data-hook=product-list-grid-item]")
for (i in 0 until elements.size) {
val title = elements.select("div[class=_3RqKm]")
.select("h3")
.eq(i)
.text()
val description =
elements.select("div[class=_1M-R0 t-Mk1 _3sC7k]")
.select("src")
.eq(i)
.text()
val linkImage =
document.baseUri()+
elements.select("div[class=_1M-R0 t-Mk1 _3sC7k]")
.select("img")
.eq(i)
.attr("src")
val additionalInfo = elements.select("div[class=_3uack]")
.select("span[data-hook=product-item-price-to-pay]")
.eq(i)
.text()
val linkDetails =
document.baseUri() +
elements.select("div[class_2zTHN _2AHc6]")
.eq(i)
.select("a")
.attr("href")
listNews.add(News(title, description, linkImage, additionalInfo, linkDetails))
}
GlobalScope.launch(Dispatchers.Main) {
adapter.set(listNews)
}
} catch (e: IOException) {
Log.e("TEST) exception", e.message.toString())
}
}
}