Android - загрузочное изображение - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь загрузить изображение с ftp на android и показать его в imageview, но я получил эту ошибку в logcat:

D/skia: ------ png error bad adaptive filter value
D/skia: --- codec->getAndroidPixels() failed.

Сначала я попробовал библиотеку commons-net, а затем попробовал библиотеку ftp4j, чтобы загрузить изображение с ftp. Код, который я использую ниже:

Здесь я называю метод загрузки изображения:


mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(final Marker marker) {
if(marker.getTitle().equals("")){
                    iw.setVisibility(View.GONE);
                }else{
                    try {
                        String url = markerRecordHashMap.get(marker).getUrl();
                        task = new DownloadImageTask().execute(url);

                        iw.setVisibility(View.VISIBLE);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
     return false;
            }
        });

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {

        protected Bitmap doInBackground(String... urls) {
            String url = urls[0];
            Bitmap targetImage = null;
            try {
                File f = FTPConnector.getImage(getApplicationContext(), url);
                targetImage = BitmapFactory.decodeFile(f.getAbsolutePath());
            } catch (Exception e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }
            return targetImage;
        }

        protected void onPostExecute(Bitmap result) {
            ImageView img = (ImageView) findViewById(R.id.targetImg);
            img.setImageBitmap(result);
        }
    }


Это изображение загружено с ftp части:


public class FTPConnector {

    public static File getImage(Context context, String imgPath) throws FTPIllegalReplyException, FTPException, IOException, FTPDataTransferException, FTPAbortedException {

        FTPClient mFTPClient = new FTPClient();

        mFTPClient.connect(GlobalVars.ftpBaseURL, GlobalVars.ftpPort);

        mFTPClient.login("testuser", "123456");

        mFTPClient.setType(FTPClient.TYPE_BINARY);

        File file = new File(context.getExternalFilesDir(null), "test1.png");

        mFTPClient.download("test1.png", file);

        mFTPClient.disconnect(false);

        return file;
    }
}

Когда я запускаю код выше, у меня нет изображения и ничего кроме этих ошибок:

2019-06-24 07:42:32.117 12522-13934/com.xxx.yyy D/skia: ------ png error bad adaptive filter value
2019-06-24 07:42:32.117 12522-13934/com.xxx.yyy D/skia: --- codec->getAndroidPixels() failed.
...