Java Android YouTube数据API search.execute()不';行不通
我对Java并不陌生,但我对Android Studio及其平台以及YouTube数据API的开发还很陌生,我遇到了一个应用程序崩溃的问题,原因是行Java Android YouTube数据API search.execute()不';行不通,java,android,android-studio,youtube-data-api,Java,Android,Android Studio,Youtube Data Api,我对Java并不陌生,但我对Android Studio及其平台以及YouTube数据API的开发还很陌生,我遇到了一个应用程序崩溃的问题,原因是行SearchListResponse searchResponse=search.execute() 这让我有点沮丧,我希望得到一些帮助,因为这将帮助我学习并继续我的项目,而不是放弃 try { youtube = new YouTube.Builder(new NetHttpTransport(), new JacksonFact
SearchListResponse searchResponse=search.execute()代码>
这让我有点沮丧,我希望得到一些帮助,因为这将帮助我学习并继续我的项目,而不是放弃
try {
youtube = new YouTube.Builder(new NetHttpTransport(), new JacksonFactory(), new HttpRequestInitializer() {
public void initialize(HttpRequest request) throws IOException {}
}).build();
YouTube.Search.List search = youtube.search().list("id,snippet");
search.setKey(youtubeKey);
search.setQ(s);
search.setType("video");
search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)");
search.setMaxResults(NUMBER_OF_VIDEOS_RETURNED);
SearchListResponse searchResponse = search.execute(); // line that crashes app
List<SearchResult> searchResultList = searchResponse.getItems();
if (searchResultList != null) {
Iterator<SearchResult> iteratorSearchResults = searchResultList.iterator();
while (iteratorSearchResults.hasNext()) {
SearchResult singleVideo = iteratorSearchResults.next();
ResourceId rId = singleVideo.getId();
if (rId.getKind().equals("youtube#video")) {
name.add(singleVideo.getSnippet().getTitle());
desc.add(singleVideo.getSnippet().getDescription());
image.add(singleVideo.getSnippet().getThumbnails().getDefault().getUrl());
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
试试看{
youtube=new youtube.Builder(new NetHttpTransport()、new JacksonFactory()、new HttpRequestInitializer()){
公共无效初始化(HttpRequest请求)引发IOException{}
}).build();
YouTube.Search.List Search=YouTube.Search().List(“id,snippet”);
search.setKey(youtubeKey);
search.setQ(s);
search.setType(“视频”);
search.setFields(“项(id/kind、id/videoId、片段/标题、片段/缩略图/默认值/url)”;
search.setMaxResults(返回的视频数量);
SearchListResponse searchResponse=search.execute();//导致应用程序崩溃的行
List searchResultList=searchResponse.getItems();
if(searchResultList!=null){
迭代器迭代器SearchResults=searchResultList.Iterator();
while(iteratorSearchResults.hasNext()){
SearchResult singleVideo=iteratorSearchResults.next();
ResourceId rId=singleVideo.getId();
if(rId.getKind().equals(“youtube视频”)){
name.add(singleVideo.getSnippet().getTitle());
desc.add(singleVideo.getSnippet().getDescription());
add(singleVideo.getSnippet().getThumbnails().getDefault().getUrl());
}
}
}
}捕获(IOE异常){
e、 printStackTrace();
}
所有东西都变红的Logcat(错误)
01-18 00:01:24.266 11928-11928/dylanhedger.yte测试/输入事件发送器:
异常调度完成信号。01-18 00:01:24.267
11928-11928/dylanhedger.yttest E/MessageQueue JNI:中的异常
MessageQueue回调:HandlerReceiveCallback 01-18 00:01:24.373
11928-11928/dylanhedger.yttest E/MessageQueue JNI:
android.os.NetworkOnMainThreadException
在
android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1450)
在
java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:102)
在
java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:90)
位于java.net.InetAddress.getAllByName(InetAddress.java:787)
位于com.android.okhttp.Dns$1.lookup(Dns.java:39)
在
com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:175)
在
com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:141)
在
com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:83)
在
com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:174)
在
com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126)
在
com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95)
在
com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281)
在
com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224)
在
com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461)
在
com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
在
com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89)
在
com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(未知
资料来源:0)
在
com.android.tools.profiler.support.network.httpurl.TrackedHttpURLConnection.connect(TrackedHttpURLConnection.java:128)
在
com.android.tools.profiler.support.network.httpurl.HttpsURLConnection$.connect(HttpsURLConnection$.java:366)
在
com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:104)
在
com.google.api.client.http.HttpRequest.execute(HttpRequest.java:981)