我试图使用json文件从url获得youtube标题,但我没有得到任何结果,我也没有得到任何例外 &



我试图使用json文件从url获得youtube标题,但我没有得到任何结果,我也没有得到任何例外。我尝试烤面包异常在烤面包消息是空/空白。有谁能帮帮我吗?我的代码在这里…

String link = youtube url;
URL embededURL = null;
try {
embededURL = new URL("http://www.youtube.com/oembed?url=" + link + "&format=json");
} catch (MalformedURLException e) {
e.printStackTrace();
makeToast(e.getMessage());
}
try {
title = new JSONObject(IOUtils.toString(embededURL)).getString("title");
} catch (JSONException e) {
e.printStackTrace();
makeToast(e.getMessage());
} catch (IOException e) {
e.printStackTrace();
makeToast(e.getMessage());
}
makeToast(title);

首先,既然你的问题标签是android-volley,我就给你一个android-volley的答案。然而,有很多库可以研究,它们以一种主观的更好的方式管理HTTP调用,比如OkHttp。

现在,对你的问题的简短回答是,你的代码甚至没有打电话到互联网。

长答:

  1. 添加对build.gradle的依赖
dependencies {
//... other dependencies
implementation 'com.android.volley:volley:1.1.1'
}
  1. <uses-permission android:name="android.permission.INTERNET" />放到你的AndroidManifest.xml

  2. 像下面这样调用应用程序到互联网。我调整了Android Volley的简单示例。

RequestQueue queue = Volley.newRequestQueue(context);
// sample of a URL-encoded url param, so you'll need to convert your link variable if you haven't already
String url = "https://www.youtube.com/oembed?url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DiwGFalTRHDA&format=json";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
String title = new JSONObject(response).getString("title");
Toast.makeText(context, title, Toast.LENGTH_LONG).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(context, "Error!", Toast.LENGTH_LONG).show();
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);

相关内容

  • 没有找到相关文章

最新更新