2011-07-13 17 views
1

私はjavaの初心者で、アンドロイドの開発を試みていました。次のコードはmalformedURLExceptionを生成しました。 URLコンストラクタは(新しいURL( "http://www.google.com/"))この場合には、でMalformedURLExceptionを、チェック例外がスローされますので、 任意のヒントがjava.net.URL in android ..初心者の質問

package com.example.helloandroid; 

import android.app.Activity; 
//import android.widget.TextView; 
import android.os.Bundle; 
import java.net.*; 
import java.io.*; 
import android.widget.TextView; 

public class HelloAndroid extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     TextView tv = new TextView(this); 
     String outdata = ""; 
     URL url_g = new URL("http://www.google.com/"); 
     URLConnection ukr = url_g.openConnection(); 

     BufferedReader in = new BufferedReader(new InputStreamReader(ukr.getInputStream())); 
     String inputLine; 
     while ((inputLine = in.readLine()) != null) 
      outdata += inputLine; 
     in.close(); 
     tv.setText(outdata); 
     setContentView(tv); 
    } 
} 
+0

URL url_g =新しいURL( "://www.google.com/"); ' – MByD

+0

他のURLで試したことがありますか? ?私はどんなバグも見当たりません – JAiro

+0

あなたのコードは私のマシン上で正常に実行されています。(+ + Stringの代わりに 'StringBuilder'を使ってください。ここで役立つ例外に関するヘルプを求めるときは、常にスタックトレースを含めるようにしてください。 – LeffelMania

答えて

6

これは非常に有用であると思われますあなたがそれをキャッチするか、あなたの方法で宣言しなければならないことを意味します。

onCreateメソッドでtry/catchまたはthrows節を使用します。

のtry/catchソリューションは:例外の詳細については

@Override 
public void onCreate(Bundle savedInstanceState) throws MalformedURLException { 
    ... 
    URL url_g = new URL("http://www.google.com/"); 
    ... 
} 

チェックこの:

public void onCreate(Bundle savedInstanceState) { 
    ... 
    try { 
     URL url_g = new URL("http://www.google.com/"); 
    } catch(MalformedURLException e) { 
     //Do something with the exception. 
    } 
    ... 
} 

ソリューションをスローします。

http://download.oracle.com/javase/tutorial/essential/exceptions/

1

さてあなたは、最初のためのtry/catch方法であなたのコードを実行する必要があります。それを試してみましょう。