Получить и отобразить изображение в Android из InputStream - PullRequest
0 голосов
/ 12 января 2019

Начнем с того, что я новичок в языке Android и мне нужна помощь с чем-то.

Я пытаюсь получить изображение из входного потока, подключенного к моей Java-программе, и сохранить его во внутреннем хранилище, после чего я его отображаю. Однако я не получаю никаких ошибок из моего кода, и все же изображение не отображается вообще. У меня нет проблем с моей программой / файлом на Java, поскольку она работает на 100% с другой программой, написанной на Java, и делает то же самое, что я пытаюсь сделать с моим приложением для Android.

public void GetImage()
{

    try
    {
        InputStream inputStream = new BufferedInputStream(connectionSocket.getInputStream());
        Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
        FileOutputStream out = new FileOutputStream(getFilesDir() + "james.png");
        bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
    }
    catch (IOException e)
    {
        Log.d("ERROR", "GetImage: " + e);
    }
}
public void DisplayImage()
{
    ImageView myImageview = (ImageView) findViewById(R.id.myImageView);
    int imageResource = getResources().getIdentifier(getFilesDir() + "james.png", null, this.getPackageName());
    myImageview.setImageResource(imageResource);
}

Может кто-нибудь взглянуть на код и сказать, что я делаю не так? Спасибо

1 Ответ

0 голосов
/ 12 января 2019
    File imgFile = new  File(getFilesDir() + "james.png");

if(imgFile.exists()){
   Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
   ImageView myImageview = (ImageView) findViewById(R.id.myImageView);
   myImageview.setImageBitmap(myBitmap);
}

Пожалуйста, замените код вашего метода на него

...