如何将 URL 转换为 URI?

cod*_*e22 6 android

我正在尝试使用此代码缓存这些图像...

但是我在这里不断收到语法错误?

 Uri imageUri = new Uri(aURL);
Run Code Online (Sandbox Code Playgroud)

这是我使用的代码。

                                URL aURL = new URL(myRemoteImages[position]);



                                Uri imageUri = new Uri(aURL);
                                if (new File(new File(myContext.getCacheDir(), "thumbnails"), "" + imageUri.hashCode()).exists())
                                {
                                    String cachFile = ""+imageUri.hashCode();
                                    FileInputStream fis;

                                    try {
                                        fis = new FileInputStream(cachFile);
                                        Bitmap bm = BitmapFactory.decodeStream(fis); 
                                         i.setImageBitmap(bm);
                                            i.setScaleType(ImageView.ScaleType.FIT_CENTER);
                                            /* Set the Width/Height of the ImageView. */
                                            if(Build.VERSION.SDK_INT >= 11){
                                                i.setLayoutParams(new Gallery.LayoutParams(450, 300));
                                            }
                                            else{
                                                i.setLayoutParams(new Gallery.LayoutParams(125, 125));
                                            }


                                    } catch (FileNotFoundException e) {

                                           Log.e("DEBUGTAG", "Remtoe Image Exception", e);





                                            /* Image should be scaled as width/height are set. */
                                            i.setScaleType(ImageView.ScaleType.FIT_CENTER);
                                            /* Set the Width/Height of the ImageView. */
                                            if(Build.VERSION.SDK_INT >= 11){
                                                i.setLayoutParams(new Gallery.LayoutParams(450, 300));

                                            return i;
                                            }
                                                i.setLayoutParams(new Gallery.LayoutParams(125, 125));
                                                return i;
                                            }
Run Code Online (Sandbox Code Playgroud)

nha*_*man 5

阅读文档。您不能使用 URL 创建 URI。使用类似的东西

URI uri = new URI(aURL.toString());
Run Code Online (Sandbox Code Playgroud)

捕捉任何必要的例外当然。