Я загружаю изображения со своего сервера и сохраняю их, используя этот код:
private void downloadImages(String[] images, String fileName){
for (int i = 0; i < images.length; i++) {
try {
url = new URL(images[i]);
String outputName = i+fileName;
input = url.openConnection().getInputStream();
output = activity.openFileOutput(outputName, Context.MODE_PRIVATE);
int read;
byte[] data = new byte[1024];
while ((read = input.read(data)) != -1){
output.write(data, 0, read);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (output != null)
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
if (input != null)
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
, и это прекрасно работает.
проблема заключается в том, что когда я читаю их, чтобы показать их на ImageButton
или MenuItem
они автоматически меняются.
когда я вытаскиваю изображения из эмулятора, я нахожу их размеры правильными.такое же поведение на каждом устройстве, которое я использовал для тестирования.
Я читаю изображения, используя этот код:
private Drawable[] readMenuImages(){
Drawable[] drawable = new Drawable[myJSONObject.getMenuItems().length];
for(int i=0 ; i < myJSONObject.getMenuItems().length ; i++){
try {
drawable[i]=Drawable.createFromStream(activity.openFileInput(i+activity.getString(R.string.menuItemImgarabicfilename)), "ImageStream");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return drawable;
}
Я на самом деле не могу понять, что происходит или как это исправить.
Я посетил эту тему Размер загруженного изображения изменяется , но это не помогло.
спасибо за помощь.