私のアプリケーションでは、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)
これを解決するのを手伝ってください..事前に感謝..