从 URL 获取图像

Getting an image from a URL

我以 JSON 对象的形式从服务器拉取文章,其中与文章相关的图像是 URL 形式的对象的属性。 URL 然后与其他数据一起保存在设备的数据库中。

现在,为了将数据发送到 UI,我想使用 CursorAdapter。我的问题是:

如果我在继承的 bindView 方法中从 URL 设置 ImageView 是否被认为是不好的做法,我该怎么做?

编辑:为了清楚起见,我应该提到 JSON 对象被解析,相关数据被提取到存储在本地数据库中的字符串中。

异步图片加载是一个复杂的话题,牵扯到很多问题。如果您不认为自己是该领域的专家,推荐的方法是使用专门为此制作的优秀库之一:Picasso, Glide, Fresco,以及其他。

Is it considered bad practice if I set an ImageView from a URL in the inherited bindView method

直接?是的,因为这会导致网络 I/O 在主应用程序线程上完成,这会在 I/O 进行时冻结您的 UI。相反,使用 image loading libraries that handle this for you asynchronously, like Picasso.

中的任何一个

(顺便说一句,我不太确定 why/how 您正在将 JSON 数据推入实现 Cursor 的东西中——您最好将 POJO 放入数组中,然后使用 ArrayAdapter,或创建 BaseAdapter 的自定义子类,更直接地使用您解析的 JSON)。