2011-12-04 7 views
0

私はAndroidについて知っておくべき本のこのコードを持っています。何が間違っていますか?
私はいつもhttp接続を確立している間に私のコードで例外である01 Error Connectingを取得します。HttpGet android ..私は間違っているのですか?

public class HttpImgActivity extends Activity { 

    private InputStream OpenHttpConnection(String urlString) 
    throws IOException 
    { 
     InputStream in = null; // creating My input 
     int response = -1; 
     URL url= new URL(urlString); 
     URLConnection conn = url.openConnection(); 

     if(!(conn instanceof HttpURLConnection)) // if not a valid URL 
      throw new IOException ("NOT an Http connection"); 

     try{ 
      HttpURLConnection httpconn = (HttpURLConnection) conn; 
      httpconn.setAllowUserInteraction(false); // prevent user interaction 
      httpconn.setInstanceFollowRedirects(true); 
      httpconn.setRequestMethod("GET"); 
      httpconn.connect(); //initiates the connection after setting the connection properties 
      response = httpconn.getResponseCode(); // getting the server response 

      if(response == HttpURLConnection.HTTP_OK) // if the server response is OK then we start receiving input stream 
       { in = httpconn.getInputStream(); } 
      } // end of try 
     catch(Exception ex) 
     { 
      throw new IOException(" 01 Error Connecting");   
     } 
     return in; // would be null if there is a connection error 

    } // end of my OpenHttpConnection user defined method 

    */ 

    private Bitmap DownloadImage(String URL) 
    { 
     Bitmap bitmap= null; 
     InputStream in = null; 
     try 
     { 
      in = getInputStreamFromUrl(URL); 
      bitmap = BitmapFactory.decodeStream(in); 
      in.close(); 
     } 
     catch (IOException e1) 
     { 
      Toast.makeText(this, e1.getLocalizedMessage(), Toast.LENGTH_LONG).show(); 
     } 

     return bitmap; // this method returns the bitmap which is actually the image itself 
    } 

    ImageView img; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Bitmap bitmap = DownloadImage("http://www.egyphone.com/wp-content/uploads/2011/05/Samsung_Galaxy_S_II_2.jpg"); 
     img =(ImageView) findViewById(R.id.myImg); 
     img.setImageBitmap(bitmap); 
    } 
} 

+0

権限をマニフェストに入れてもよろしいですか? –

+1

さて、あなたは 'IOException'を取得します。自分でデバッグを開始してください。例外からのメッセージ(おそらく 'ex-> getMessage()')から始めます。その後、例外をスローするコードを修正する方法を調べてください。 – Nanne

+0

なぜ彼はダウン投票していますか?これはSOが答えようとしている問題のようです。 – user94154

答えて

1

あなたの例外をキャッチしているようですが、あなたは何のためにも使用しません。


throw new IOException(ex.toString());


throw new IOException(" 01 Error Connecting");
を変更してみてくださいそして、あなたはlogcatを通して、あなたのエラーを表示する代わりに、Androidのログツールを使用して考える必要があります。

... 
catch(Exception ex) 
{ 
    Log.e("CONNECTION", ex.toString(), ex); 
} 
... 

これは簡単にIMOをデバッグすることができます。

関連する問題