Как восстановить образ с помощью jsoup? - PullRequest
0 голосов
/ 27 марта 2020

Я использую 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())
    }
}

}

...