2

Webから電話にダウンロードする必要があるさまざまなファイルがあります

コードを実行しましたが、コードでは画像/写真などの小さなサイズでしかダウンロードできません。.apk のような 2 MB から 100 MB を超える大きなファイルは失敗します。以下はコードです:

final ProgressDialog progress=ProgressDialog.show(this, "Please wait", "Loading ...", true);

        new Thread()
        {
            public void run()
            {               
                try {
                    URL url = new URL("http://www.domain.com/apk/Gmail.apk");

                    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

                    urlConnection.setRequestMethod("GET");
                    urlConnection.setDoOutput(true);

                    urlConnection.connect();

                    File SDCardRoot = Environment.getExternalStorageDirectory();
                    File file = new File(SDCardRoot, "Gmail.apk");

                    FileOutputStream fileOutput = new FileOutputStream(file);

                    InputStream inputStream = urlConnection.getInputStream();


                    byte[] buffer = new byte[1024];
                    int bufferLength = 0; 

                    while ( (bufferLength = inputStream.read(buffer)) > 0 ) {
                            fileOutput.write(buffer, 0, bufferLength);
                            //downloadedSize += bufferLength;
                    }
                    fileOutput.close();

            } catch (MalformedURLException e) {
                    e.printStackTrace();
            } catch (IOException e) {
                    e.printStackTrace();
            }
                progress.dismiss();                     
            }
        }.start();  
4

0 に答える 0