サービスを呼び出すためのメソッドを作成し、AndroidアプリケーションでJSONデータを取得しようとしています。必要なすべてのgloable変数がすでに宣言されていると仮定します...
これらは、使用しているlibimです。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
これが私のコードです:
public class JSONParser {
String url = "http://gdata.youtube.com/feeds/api/users/eon/uploads?&v=2&max- results=50&alt=jsonc";
JSONObject jObj = null;
JSONArray ja = null;
String json = "";
// constructor
public JSONParser() {
}
public JSONObject getJSONFromUrl(String url){
try {
URL urlGetter = new URL(url);
URLConnection tc = urlGetter.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
tc.getInputStream(), "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = in.readLine()) != null) {
sb.append(line + "\n");
}
json = sb.toString();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//parse the string to a JSON object
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
return jObj;
}
それはうまくいきません、私はそれがこの行まで実行されたときにデバッグモードで実行しようとしました:
BufferedReader in = new BufferedReader(new InputStreamReader(
tc.getInputStream(), "iso-8859-1"), 8);
それは文句を言います:java.net.UnknownHostException:gdata.youtube.com私はこの問題を解決する方法がわかりません...何か提案はありますか?ありがとう
ちなみに、私のアンドロイドマニフェストでは、私はすでにインターネットを許可しています:
ブラウザでURLを検索すると、tiのjson形式が表示されます...接続できます...しかし、私のコードはunknowhostexceptionについて文句を言っています... "http://gdata.youtube.com/ feeds / api / users / eon / uploads?&v = 2&max- results = 50&alt = jsonc ";