0

如何将MySQL中的所有图像检索到android真的我可以检索(名称,年龄,....)之类的数据,但实际上我无法检索所有图像,而我在MySQL中有一个包含(名称,年龄,图像)的表

感谢您的任何指导和帮助

4

2 回答 2

2

我不确定这是否有用,但你不能尝试这个。http://www.androidbegin.com/tutorial/android-json-parse-images-and-texts-tutorial/

于 2013-11-12T04:35:27.573 回答
0

可能您应该考虑将图像存储在本地存储中(而不是二进制格式,从您的问题来看,这就是您的做法),并且在您的数据库中只存储文件位置。这样,您在将数据从数据库转换到数据库时应该不会有问题,并且数据库大小不会增长太多。

然后在列表视图的适配器中,您只需要检索图像的位置并将其加载到要显示的视图中。

编辑

据我了解,您正在通过 Json 将数据发送到 Android 设备。因此,假设您要发送一个像这样的 Json 数组:

[{"username":"John", "userimage":"http://example.com/images/imagejohn.jpg"},
 {"username":"Michael", "userimage":"http://example.com/images/imagemike.jpg"},
 {"username":"Sophia", "userimage":"http://example.com/images/imagesophia.jpg"}]

因此,您需要将 JSON 内容读取到 Array 并将其填充到适配器中。正如我在评论中提到的,你应该看看这里的答案:https ://stackoverflow.com/a/8113337/1991053

基本上,您可以读取 JSON 数组并将其放入 ListView 的数组适配器中,在上面的示例中,您可以像这样检索每个元素:

JSONArray jsonArray = new JSONArray(input) // input is the JSON string you recieve
for(int i = 0; i < jsonArray.length(); i++) {
    String userName = jsonArray.optJSONObject(i).getString("username");
    String imageURL = jsonArray.optJSONObject(i).getString("userimage");
    // Here you can do whatever you want with the values
    // like loading an imageview with the url's data
    // or putting the values in an ArrayList for filling up the ListView adapter
}

当然,您可以修改它以适应您用于发送数据的任何 JSON 结构,只需使用 JSONObjects 和 JSONArray 即可。看看这里的文档:JSONArray , JSONObject

如果您想更好地控制 JSON 数据(如序列化或反序列化数据),请查看JacksonGson。周围有很多例子可以理解它们是如何工作的。

但我认为你最好的选择是使用这里显示的适配器。此外,为了从 URL 加载 ListView 中的图像,您可以使用这个库:Lazy List

希望这对您有所帮助。此致。

于 2013-10-06T10:22:00.150 回答