0

私のアプリケーションでは、URL から画像をダウンロードする必要があります。しかし、私のURLにはアラビア語の文字が含まれているので、UTF-8形式にエンコードしてダウンロードしようとしましたが、nullpointer警告が表示されるため、画像がダウンロードされません:

私のコード:

String urlDecode=URLDecoder.decode(urlpath,"UTF-8");
            Log.i("urlDecode", urlDecode);
            url = new URL(urlDecode);..

//          url = new URL(URLDecoder.decode(urlpath,"UTF-8"));
            System.out.println("url="+url);
            Bitmap bmp ;
//          try
//          {
            String filename = urlpath.substring(urlpath.lastIndexOf("/") + 1,
                    urlpath.length());
            bmp = BitmapFactory.decodeStream(url.openConnection()
                    .getInputStream());

私のURLは次のようなものです:

http://vvvv.com/book_images/398_مقاصد _2الشريعة.jpg

私のlogcat:

06-27 11:46:19.868: W/System.err(18859): java.lang.NullPointerException
06-27 11:46:19.868: W/System.err(18859):    at DownloadString.DownloadImageFromURL(DownloadString.java:209)
06-27 11:46:19.868: W/System.err(18859):    at DownloadString.DownloadStringMethod(DownloadString.java:114)
06-27 11:46:19.868: W/System.err(18859):    at ThumbnailView$GetTask.doInBackground(ThumbnailView.java:797)
06-27 11:46:19.868: W/System.err(18859):    at ThumbnailView$GetTask.doInBackground(ThumbnailView.java:1)
06-27 11:46:19.868: W/System.err(18859):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
06-27 11:46:19.868: W/System.err(18859):    at java.util.concurrent.FutureTask.run(FutureTask.java:234)
06-27 11:46:19.868: W/System.err(18859):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
06-27 11:46:19.868: W/System.err(18859):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
06-27 11:46:19.868: W/System.err(18859):    at java.lang.Thread.run(Thread.java:856)

これを解決するのを手伝ってください..事前に感謝..

4

1 に答える 1

0

次の Web エンコード ツールを使用してアラビア語の URL をエンコードし、プログラムで URL にハードコードして
http://meyerweb.com/eric/tools/dencoder/を試してください。

于 2013-06-27T11:37:33.800 に答える