【发布时间】:2017-06-22 22:48:08
【问题描述】:
我有一个 android 应用程序,我试图在我的 android 应用程序的另一个类文件中得到一个 REST 调用的响应。
这是进行 REST 调用的类文件:
public class YouTubeVidIDs extends AsyncTask<String, String, String> {
public String current_YTVidID;
@Override
public String doInBackground(String... params) {
String subYTURL_0 = "https://sunnahboxservice.herokuapp.com/management/youtubeapi/liveStream?channelId=UCos52azQNBgW63_9uDJoPDA";
String subYTURL_1 = "https://sunnahboxservice.herokuapp.com/management/youtubeapi/liveStream?channelId=UUCos52azQNBgW63_9uDJoPDA";
String subYTURL_2 = "https://sunnahboxservice.herokuapp.com/management/youtubeapi/liveStream?channelId=UUCROKYPep-UuODNwyipe6JMw";
String subYTURL_3 = "https://sunnahboxservice.herokuapp.com/management/youtubeapi/liveStream?channelId=UUCN_mfNT4sUszWKfi0Urjv-g";
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(subYTURL_0)
.get()
//.addHeader("accept", "*/*")
.build();
try {
String response = client.newCall(request).execute().toString();
current_YTVidID = response;
} catch (IOException e) {
e.printStackTrace();
}
return current_YTVidID;
}
public void setCurrent_YTVidID(String current_YTVidID) {
this.current_YTVidID = current_YTVidID;
}
public String getCurrent_YTVidID() {
return this.current_YTVidID;
}
}
我正在尝试将结果拉入另一个类文件,如下所示:
YouTubeVidIDs newID = new YouTubeVidIDs();
String YT_ID = newID.getCurrent_YTVidID();
Movie movie1 = new Movie();
movie1.setId(1);
movie1.getId(1);
movie1.setTitle("Masjid Al-Haram");
movie1.setStudio("Mekkah, KSA");
movie1.setDescription("Live Stream of Masjid Al-Haram");
movie1.setCardImageUrl("http://3.bp.blogspot.com/-ZKjKucsPdzI/TudWC99CE_I/AAAAAAAAAD8/qvWdDtw5IW0/s1600/%2528393%2529.jpg");
movie1.setyTubeID(YT_ID);
运行时出现以下错误:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: software.blackstone.tvsunnahboxmenu, PID: 3514
java.lang.IllegalStateException: android.os.DeadObjectException
at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.K(SourceFile:236)
at fpm.b(SourceFile:2715)
at fot.k(SourceFile:15217)
at vma.run(SourceFile:1051)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: android.os.DeadObjectException
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:615)
at com.google.android.apps.youtube.embeddedplayer.service.service.jar.IApiPlayerService$Stub$Proxy.e(SourceFile:473)
at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.K(SourceFile:233)
at fpm.b(SourceFile:2715)
at fot.k(SourceFile:15217)
at vma.run(SourceFile:1051)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
当我在物理设备上运行它时 - YT 视频的微调器只是旋转和旋转,视频似乎永远不会加载,并且它根本不会在 Android Studio 的应用运行窗口中返回错误消息。
谁能帮助我了解我在哪里出错以及解决此问题的最佳方法是什么?
【问题讨论】:
-
调用 newID.excute().
标签: java android rest youtube-api