use*_*574 9 python base64 android listview image
在我的Android应用程序中,我在ListView中显示一些用户.我想显示(用户的pic,first_name,last_name).现在,它只适用于first_name和last_name.我想添加图片.我从服务器(python)收到的数据JSON是这样的:
[{"profil":"first_name": "Jim", "last_name": "Carrey"}}, "_id": {"$oid": "4d595cda1d41c81536000000"}}, {"profil":{"first_name": "Mathieu", "last_name": "Polnari"}}, "_id": {"$oid": "4d5916581d41c80e88000000"}}, {"profil": {"first_name": "Vincent", "last_name": "Fatou"}}, "_id": {"$oid": "4d58fc7e1d41c8090e000000"}}...]
Run Code Online (Sandbox Code Playgroud)
如果我在图片的JSON中添加一个参数应该会更好.
您是否认为将图片作为字符串返回JSON并使用Base64进行解码是个好主意?
Pet*_*ego 12
从技术上讲,将二进制数据编码为base64字符串并将其包含在JSON中是完全可以的.
但是,正如@servermanfail所指出的那样,将图像链接嵌入到JSON中并在第二步中下载它们可能会更好.
增加的好处是传输的大小/速度,因为base64流是原始二进制流的大小的4/3(33%开销).
此外,在这种情况下,您可以缓存图像.
我建议添加一个JSON参数,其中包含资源的URL.
为了增加安全性,您可以通过向资源添加带有盐校验和的md5来创建加密URL,例如http://server.com/images/1234567890123456789012345678901234567890/image.jpg - 这是facebook.com使用的方法.