残念ながら、私はこのサイトで解決策を見つけることができません。別の方法では、見たり使用したりしただけで、適切に機能しなかった可能性があります。この若者はあなたの助けを必要としています。本当にうまくいかないようです。
YouTubeチャンネルのプレイリストを表示するほとんどのページでYoutube-Apiを使用するこのAndroidアプリケーションがあります。
このように ( Playlist Youtube-Api Query )
<script type="text/javascript">
$(function () {
var playlist = "https://gdata.youtube.com/feeds/api/users/******/playlists?v=2&alt=jsonc";
$.getJSON(playlist, function(response) {
$.each(response.data.items, function(index, item) {
$('#r_playlist').append('<div id="pl_title" class="playlists topBdr btmBdr" onclick=navlist_video("'+ item.id +'");><div class="pl_lb">' + item.title + '</div></div>');
});
$('.playlists').first().removeClass('topBdr');
$('.playlists').last().removeClass('btmBdr');
});
});
</script>
これが私のアプリケーションのレイアウトです(ホームページとプレイリストページ)
ホームページには、YouTube クエリを使用する注目の動画が表示されます。クエリの例を以下に示します。プレイリスト クエリに関しては、上に示しました。
https://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&orderby=viewCount&max-results=5&q=xxxxxx
だから私の問題は、ナビゲーションメニューのホーム - >プレイリスト - >ホームに移動した後、私が経験している問題が表示されることです。そのため、Android アプリケーションを開くと、HOME ページから開始し、プレイリスト ページに移動すると、それも機能します。しかし、もう一度ホームページに移動すると、注目のビデオが表示されなくなり、プレイリストページに移動すると、プレイリストが表示されなくなりました。Android アプリケーションのデータを消去してアプリケーションを再度実行すると、エラーが繰り返されます。
ここに私のアンドロイドコードがあります。
package xxxxxx.xx;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.view.KeyEvent;
import android.view.Menu;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView mWebView = null;
mWebView = (WebView) findViewById(R.id.webtest);
mWebView.getSettings().setPluginState(PluginState.ON);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new CustomWebViewClient());
try {
mWebView.loadUrl("http://xxxxxxxx.com/android/index.html");
} catch (Exception e) {
e.printStackTrace();
}
}
public class CustomWebViewClient extends WebViewClient
{
@Override
public void onPageFinished(WebView view, String url) {
if(url.endsWith("request")){
String redirectUrl = "http://xxxxxx.com/xxxxx/index.html";
view.loadUrl(redirectUrl);
return;
} else if (url.startsWith("https://m.facebook.com/dialog/permissions.request")) {
String redirectUrl = "http://xxxxxxx.com/android/index.html";
view.loadUrl(redirectUrl);
return;
}
super.onPageFinished(view, url);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
WebView mWebView = null;
mWebView = (WebView) findViewById(R.id.webtest);
if(event.getAction() == KeyEvent.ACTION_DOWN){
switch(keyCode)
{
case KeyEvent.KEYCODE_BACK:
if(mWebView.canGoBack() == true){
finish();
//mWebView.goBack();
}else{
finish();
}
return true;
}
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
次に、プレイリストの私の Javascript コード:
<div id="r_playlist"></div>
<script type="text/javascript">
$(function () {
var playlist = "https://gdata.youtube.com/feeds/api/users/xxxxxxx/playlists?v=2&alt=jsonc";
$.getJSON(playlist, function(response) {
$.each(response.data.items, function(index, item) {
$('#r_playlist').append('<div id="pl_title" class="playlists topBdr btmBdr" onclick=navlist_video("'+ item.id +'");><div class="pl_lb">' + item.title + '</div></div>');
});
$('.playlists').first().removeClass('topBdr');
$('.playlists').last().removeClass('btmBdr');
});
});
</script>
この問題を解決する方法についてのアイデアはありますか? 誰かが私を助けてくれたらうれしいです、ありがとう。