Я пробую пример, полученный с здесь .В примере показано, как отобразить изображение, которое больше, чем экран, и экран работает как окно, позволяя пользователю просматривать изображения с помощью прокрутки.Однако то, чего я хочу достичь, похоже на то, что вместо одного изображения я попытался объединить 18 небольших изображений (171X205) в одно изображение.Я могу это сделать, но чтобы сэкономить время загрузки при загрузке изображений с сервера, я кэшировал изображения.Вот в чем проблема, я не могу отобразить изображения на экране, хотя изображения действительно кэшируются.Таким образом, я пробовал что-то еще, выбирая изображение из папки drawable, но все еще возникает та же проблема.Кто-нибудь имеет какие-либо идеи, как решить эту проблему?
Фрагменты кода для загрузки изображений из кэша:
for(int i =0; i<18; i++)
File cacheMap = new File(context.getCacheDir(), smallMapImageNames.get(i).toString());
if(cacheMap.exists()){
//retrieved from cached
try {
FileInputStream fis = new FileInputStream(cacheMap);
Bitmap bitmap = BitmapFactory.decodeStream(fis)
puzzle.add(bitmap);
}catch(...){}
}else{
Drawable smallMap = LoadImageFromWebOperations(mapPiecesURL.get(i).toString());
if(i==0){
height1 = smallMap.getIntrinsicHeight();
width1 = smallMap.getIntrinsicWidth();
}
if (smallMap instanceof BitmapDrawable) {
Bitmap bitmap = ((BitmapDrawable)smallMap).getBitmap();
FileOutputStream fos = null;
try {
cacheMap.createNewFile();
fos = new FileOutputStream(cacheMap);
bitmap.compress(CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
puzzle.add(bitmap);
}
}
}
Функция, где он получает изображения с сервера
private Drawable LoadImageFromWebOperations(String url) {
// TODO Auto-generated method stub
try
{
InputStream is = (InputStream) new URL(url).getContent();
Drawable d = Drawable.createFromStream(is, "src name");
return d;
}catch (Exception e) {
System.out.println("Exc="+e);
return null;
}
}
Я рисую на холсте, поэтому ImageView не используется для отображения изображений.