How to download file/image from url to your android app

后端 未结 4 1145
星月不相逢
星月不相逢 2020-12-20 02:47

I need my android app to make request to url to download an image from this url so I have built this class to help me, BUT it didn\'t work ???

public class M         


        
4条回答
  •  -上瘾入骨i
    2020-12-20 03:10

    try this

    public class MyAsnyc extends AsyncTask {
        public static File file;
        InputStream is;
    
        protected void doInBackground() throws IOException {
    
            File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
            file = new File(path, "DemoPicture.jpg");
            try {    
                // Make sure the Pictures directory exists.
                path.mkdirs();
    
                URL url = new URL("http://androidsaveitem.appspot.com/downloadjpg");
                /* Open a connection to that URL. */
                URLConnection ucon = url.openConnection();
    
                /*
                 * Define InputStreams to read from the URLConnection.
                 */
                is = ucon.getInputStream();
    
                OutputStream os = new FileOutputStream(file);
                byte[] data = new byte[is.available()];
                is.read(data);
                os.write(data);
                is.close();
                os.close();
    
            } catch (IOException e) {
                Log.d("ImageManager", "Error: " + e);
            }
        }
    
        @Override
        protected Void doInBackground(Void... params) {
            // TODO Auto-generated method stub
            try {
                doInBackground();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
            return null;
        }
    
        protected void onPostExecute() {
            try {
                // Tell the media scanner about the new file so that it is
                // immediately available to the user.
                MediaScannerConnection.scanFile(null,
                        new String[]{file.toString()}, null,
                        new MediaScannerConnection.OnScanCompletedListener() {
                            public void onScanCompleted(String path, Uri uri) {
                                Log.i("ExternalStorage", "Scanned " + path + ":");
                                Log.i("ExternalStorage", "-> uri=" + uri);
                            }
                        });
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
        }
    }
    

提交回复
热议问题