2011-12-27 9 views
1

ウェブからAndroidデバイスにファイルを保存しようとしていますが、その方法はわかりません。 URLアドレスに空白のページが表示され、ダウンロードするファイルのポップアップダウンロードボックスが表示されますので、どこに保存するかを選択できます。androidでファイルをダウンロード

私の問題は、ファイルをダウンロードするためにそのボックスを管理する方法がわかりません。ページが空白なので、そのページに表示されているものをダウンロードしたいのではありません。だから、私はこのコードを使用することはできません:

  Context context = thisClass.this; 
     Drawable image = ImageOperations(context, 
      "http://android.okhelp.cz/images/adictionary/ad_4.png" 
      ,"image.jpg"); 
     ImageView imgView; 
     imgView = (ImageView)findViewById(R.id.idImageView); 
     imgView.setImageDrawable(image); 

private Drawable ImageOperations(Context ctx, String url, String saveFilename) { 
    try { 
     InputStream is = (InputStream) this.fetch(url); 
     Drawable d = Drawable.createFromStream(is, "src"); 
     return d; 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
     return null; 
    } catch (IOException e) { 
     e.printStackTrace(); 
     return null; 
    } 
} 

public Object fetch(String address) throws MalformedURLException,IOException { 
    URL url = new URL(address); 
    Object content = url.getContent(); 
    return content; 
} 

誰かが私に見つめたり、私に解決策を教えてくれたら嬉しいです。

+0

あなたはファイルへの直接リンクを持っていませんか?もしそうなら、それをダウンロードしてSDカードまたはデータベースに保存することができます。 – Dante

+0

いいえ、携帯電話を使用してファイルをダウンロードすることはできません。そのサイトには、そのファイルをダウンロードできないモバイル版があるためです。私は自分のコンピュータを使ってそれをダウンロードしてから、コンピュータからそれを私の電話に転送するだけです。しかし、私は可能ならばこれを避けたい。 – Lara

+0

私はサイトへのリンクについては言及していない、私はファイルへの直接リンクについて話している。ウェブサイトのリンクとダウンロードしようとしているファイルを教えてください。 – Dante

答えて

1

私はそれを解決しました!

  File card2= Environment.getExternalStorageDirectory(); 
      File dir2= new File (card2.getAbsolutePath()+"/MyFiles"); 
      dir2.mkdirs(); 
      new DefaultHttpClient().execute(new HttpGet(your_url_here-this_is_a_string)).getEntity().writeTo(
      new FileOutputStream(new File(dir2,your_file_on_sdcard-this_is_string))); 

これもtry/catchで囲まれています。アドレスの前にプロトコルを挿入することを忘れないでください。そうしないと動作しません。 お手伝い願います!

関連する問題