0
文字列からURLに変更しようとすると、URL上でプロトコルが取得されません。どんな助けでも大歓迎です!java.net.MalformedURLExceptionを取得し続ける:変数を使用してURLを設定するときにプロトコルがありません
icon_image = weather.weather_pic();
//^ The string icon_image is = http://icons.wxug.com/i/c/k/clear.gif
URL url = new URL("http://icons.wxug.com/i/c/k/clear.gif");
// when I try URL url = new URL(icon_image); it gives me malformed unknown protocal.
// but if i set it like this URL url = new URL("http://icons.wxug.com/i/c/k/clear.gif") it works ??
私はそのは
public static String weather_pic() throws IOException {
// Connect to the URL using java's native library
String sURL = "http://api.wunderground.com/api/84b167e6ec916b78/conditions/q/NV/Reno.json"; //just a string
URL url = null;
try {
url = new URL(sURL);
} catch (MalformedURLException e) {
e.printStackTrace();
}
HttpURLConnection request = null;
try {
request = (HttpURLConnection) url.openConnection();
} catch (IOException e) {
e.printStackTrace();
}
try {
request.connect();
} catch (IOException e) {
e.printStackTrace();
}
// Convert to a JSON object to print data
JsonParser jp = new JsonParser(); //from gson
JsonElement root = null; //Convert the input stream to a json element
try {
root = jp.parse(new InputStreamReader((InputStream) request.getContent()));
} catch (IOException e) {
e.printStackTrace();
}
JsonObject rootobj = root.getAsJsonObject(); //May be an array, may be an object.
JsonObject cond = rootobj.get("current_observation").getAsJsonObject();
String icon = cond.get("icon_url").toString();
System.out.println(icon);
//String zipcode = rootobj.get("query").getAsString(); //just grab the zipcode
String icon_x = icon;
return icon_x;
}
をやって何を表示するためにweather_pic追加のは、実際に値を持っており、それはあなたが好き"
で文字列の結果を取り囲んcond.get("icon_url").toString()
を使用している
Exception in thread "main" java.net.MalformedURLException: no protocol: "http://icons.wxug.com/i/c/k/partlycloudy.gif"
at java.net.URL.<init>(URL.java:593)
at java.net.URL.<init>(URL.java:490)
at java.net.URL.<init>(URL.java:439)
at widget.Widget.<init>(Widget.java:42)
at widget.Widget.main(Widget.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
"http://icons.wxug.com/i/c/k/partlycloudy.gif"
Process finished with exit code 1
は、あなたが(確か 'weather.weather_picですそれらの余分
"
使用を取り除くために)は'いくつかの値を返すのですか? – gschambial
icon_imageを一度印刷してみてください。 – Mahi
'icon_image'がその文字列を保持していると仮定するのは間違っているかもしれないと考えましたか?私の経験から、Javaは嘘をついていないので、データを見つけることができないと言われた場合、そのデータはそこにないか、そこにありますが、間違ったフォーマット(おそらく追加の文字が含まれているかもしれません)。 – Pshemo