我希望使用json从服务器下载图像并将其存储在内部存储中,然后逐个显示图像。我有JSON格式可以任何机构帮助我如何做到这一点??? 我的json是:
Copy-Item -Path X:\Test.txt '\\MyComputerNameOrIP\D$'
答案 0 :(得分:0)
最简单的方法之一是使用Glide库(https://github.com/bumptech/glide) 你可以得到位图
Bitmap bitmap = Glide.with(pContext).load(url).asBitmap().into(100, 100).get();
然后保存位图
确保在新线程中调用该方法
答案 1 :(得分:0)
你得到String以响应服务器。 然后创建json对象
String strResponse = ...
JSONObject jsonObject = new JSONObject(strResponse);
JSONArray pagesArray = jsonObject.getJSONArray("pages");
for (int i=0;i<pagesArray.length();i++){
JSONObject pageObj = pagesArray.getJSONObject(i);
JSONArray pageImagesArray = pageObj.getJSONArray("page_image");
for (int j=0;j<pageImagesArray.length();j++) {
JSONObject image = pageImagesArray.getJSONObject(j);
String urlImg = image.getString("image");
}
}
答案 2 :(得分:0)
1-在build.gradle中添加compile 'com.squareup.picasso:picasso:2.5.2'
或从Picasso
2- Picasso.with(this)
.load("Your image url here")
.into(target);
如果你列出,那么你也可以在遍历你的列表(在任何循环内)时使用上面。
3 - 作为上述类中显示编译时错误的目标。将以下代码作为您的内部类。
private Target target = new Target() {
@Override
public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
new Thread(new Runnable() {
@Override
public void run() {
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/image1.jpg");
try {
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(CompressFormat.JPEG, 80, ostream);
ostream.close();
} catch (Exception e) {
e.printStackTrace();
}}
}).start(); }
@Override
public void onBitmapFailed(Drawable errorDrawable) {}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
if (placeHolderDrawable != null) {} }};
4 - 如果您在理解上述代码时仍然遇到问题,请参考以下示例。 Picasso - Image downloading and caching library for Android
5-`for(int i = 0; i&lt; cons.length(); i ++)
{
JSONObject c = cons.getJSONObject(i);
imgURL = c.getString(image);
Picasso.with(this)
.load(imgURL)
.into(new Target() {
@Override
public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
new Thread(new Runnable() {
@Override
public void run() {
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/image1.jpg");
try {
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 80, ostream);
ostream.close();
} catch (Exception e) {
e.printStackTrace();
}}
}).start();
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
});
}`