gpt4 book ai didi

android - 如何使用 Fresco 将图像设置为 Google Play Books API 缩略图?

转载 作者:行者123 更新时间:2023-11-29 14:59:09 26 4
gpt4 key购买 nike

我正在尝试使用 Fresco(我也尝试过使用 Glide 和 Picasso)1.10.0 从 URL 加载 Google Play 图书图片缩略图。我可以加载另一张图片(例如 https://i.imgur.com/6zDqjm8.jpg ),但当我使用 Google Play 图书缩略图链接(例如 http://books.google.com/books/content?id=F1wgqlNi8AMC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api )时,只会显示占位符图片。

我还尝试在 Uri.parse 代码中将“.jpeg”添加到链接的末尾(因为在网络浏览器中图像仍然显示),但这没有什么不同。

你知道这是为什么和/或我做错了什么吗?

我的 list 中已获得互联网许可。我的 XML 文件中也有 Fresco 命名空间。

我的 Fresco 代码(取自 Getting Started with Fresco 指南):

Uri uri = Uri.parse("http://books.google.com/books/content?id=F1wgqlNi8AMC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api");
SimpleDraweeView draweeView = findViewById(R.id.my_image_view);
draweeView.setImageURI(uri);

SimpleDraweeView 的 XML 代码:

 <com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/my_image_view"
android:layout_width="130dp"
android:layout_height="130dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"
fresco:placeholderImage="@drawable/search_white_24dp" />

我正在使用的 JSON(更多 Google Play 图书缩略图):https://pastebin.com/hq4AFMRb

如果您需要更多信息(例如 XML),请告诉我。如果可行,我不介意使用不同的第三方库(包括 Glide 或 Picasso)。

最佳答案

看起来,不 protected 流量不再可用于向 Google 图书服务器发出请求(请注意下面的 Glide 日志):

08-09 22:31:06.428 7606-7606/com.sandbox.test W/Glide: Load failed for http://books.google.com/books/content?id=F1wgqlNi8AMC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api with size [2392x2392] class com.bumptech.glide.load.engine.GlideException: Failed to load resource There were 2 causes: java.io.IOException(Cleartext HTTP traffic to books.google.com not permitted) java.io.FileNotFoundException(No content provider: http://books.google.com/books/content?id=F1wgqlNi8AMC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api) call GlideException#logRootCauses(String) for more detail Cause (1 of 2): class com.bumptech.glide.load.engine.GlideException: Fetching data failed, class java.io.InputStream, REMOTE There was 1 cause:

因此,您只需将 “S” 字母添加到 API 的图片 url 协议(protocol),然后通过 HTTPS 发出请求。

在我的例子中,这成功了。

关于android - 如何使用 Fresco 将图像设置为 Google Play Books API 缩略图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51773767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com