• 締切済み

androidブラウザ開発について

先日、androidでwebviewクラスを使って簡単なブラウザを開発し始めたのですが、一部のサイトで表示がおかしくなったりして困っています。 あるサイトというのは、1つがMobageのゲーム「アイドルマスターシンデレラガールズ」です。 画像が一部表示されなかったり、jqueryを使っ(ていると思われる)た画像のスライドや、音声の再生等が機能してくれません。 少し詳しく書くと、スライドショーの方は縦に画像が連続で並んで表示されていて、音声の方はゲーム内の設定画面でONとOFFの切り替えが出来るのですが、その設定ページを見ると「ご利用されている端末では、この設定項目を利用することができません。」と表示されており何もすることができない状態です。 一応フラッシュは再生できます。 もう1つのサイトはyoutubeです。 動画を再生しようとしても、プログレスバーは表示されるんですが一向に動画は再生されません。 色々と調べてみたのですが全く原因が分からず・・・。 どなたかご教授いただければ幸いです。 よろしくお願い致します。 経験不足なので役に立つかは分かりませんが、以下がSDKとソースコードです。 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView myWebView = (WebView)findViewById(R.id.webView1); myWebView.setWebViewClient(new WebViewClient()); myWebView.getSettings().setJavaScriptEnabled(true); myWebView.loadUrl("https://www.google.co.jp/"); } ちなみにisw13htで実行しています。

  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

  • hirotn
  • ベストアンサー率59% (147/246)
回答No.1

http://developer.android.com/reference/android/webkit/WebView.html 上記からの推測で申し訳ありませんが、デフォルトではビデオもJavascriptも使用できないようです。 いくつかのメソッドを実行してプロパティをtrueに倒して有効にしなければならないと読めます。具体的には以下です。 - Javascriptのサポート webview.getSetting().setJavaScriptEnabled(true); - ビデオのサポート(html5のvideoサポート) webview.isHardwareAccelator(true)とする

関連するQ&A

  • androidアプリ開発 youtube表示方法

    androidアプリをjavaで開発してます。youtube動画を見れるアプリにしたいです。下記のコードでyoutubeサイトには行けるんですが、画象をクリックしても動画を見ることができません。どのようにすれば動画を見れるようになるでしょうか?どうぞよろしくお願いします。 package com.XXX; import android.app.Activity; import android.os.Bundle; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; public class WebViewActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.web); WebView webView = (WebView)findViewById(R.id.main_webview); webView.setWebViewClient(new WebViewClient()); webView.loadUrl(url); WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); } }

  • ブラウザ出力エラーのリカバリ方法を教えてください

    javaでのAndroidアプリ作成時にWebKitを使って エミュレータでのアプリからのブラウザ出力を試していましたが、 実行時に『ページが見つかりませんでした』と表示されます。 このエラーの解決方法がありましたらご教示ください。 なお、以下に現状を記載しています。 <Activity> public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView webview = new WebView(this); webview.loadUrl("http://www.google.co.jp"); setContentView(webview); } 【現状】 ・<uses-permission android:name="android.permission.INTERNET"></uses-permission>は設定済み ・実行デバイスを変更しても変化なし ・無線LANから有線LANに変更しても変化なし ・自身のネットワークはProxyサーバからのネットワークアクセスとなっており、  それに合わせたアクセスポイントの設定はAndroidエミュレータ内で設定済み ・エミュレータのブラウザからhttp://www.google.co.jpへはアクセス可 ・ソース内のエラーは無し ・assetsフォルダへのhtmlファイルの格納、webView.loadUrl(file:///~);での画面出力は可 以上です。宜しくお願いいたします。

  • androidアプリの開発 WebView

    androidアプリの開発について質問です。 現在intentによりデータを受信して表示する事までができたのですが、 受信したデータをWebViewにて表示をすると、 WebView領域にnull というテキストリンクまでもが表示されます。 通常のデータは正常に表示されています。 ちなみに null のテキストリンクをクリックしても ページが表示されませんというエラーが出るだけです。 どなたかご存知の方がいましたらご教授くださいませ。 以下ソース抜粋 if (intent != null) { String tmp = ""; String desc = ""; TextView tv; tv = (TextView) findViewById(R.id.item_detail_title); tmp = intent.getStringExtra("TITLE"); tv.setText(tmp); tv = (TextView) findViewById(R.id.item_detail_descr); tmp = intent.getStringExtra("DESCRIPTION"); tv.setText(tmp); WebView wv = (WebView) findViewById(R.id.Des); desc = WEBVIEW_BEGIN; tmp = intent.getStringExtra("Link"); desc += String.format(WEBVIEW_LINK, tmp, tmp); tmp = intent.getStringExtra("DESCRIPTION"); desc += tmp + WEBVIEW_END; wv.loadDataWithBaseURL("about:blank", desc, "text/html", "utf-8", null); }

    • ベストアンサー
    • Java
  • Androidプログラミング アプリが停止する

    eclipseでボタンを押すと画像が表示されるアプリをつくろうとしていましたがボタンをを押すとポップアップで「~を停止します。」と表示されアプリが落ちてしまいます。 Ver4.0を使用しています。 package my.application.imageviewer; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.ImageView; public class ImageViewer extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void showImage(View view) { ImageView imageView1 = (ImageView)findViewById(R.id.imageView1); imageView1.setImageResource(R.drawable.sample); } } プログラムにミスがあるのでしょうか? 宜しくお願い致します。

  • Androidアプリのクリック処理

    とても初歩的な問題で申し訳ないのですが、 3日悩んで解決できなかったので、質問させてください。 現在、Androidアプリの修正を行っています。 現状: 画面いっぱいにWebViewを表示させ、あるサイトを表示させる 改修案: 画面下にボタンを1つ追加し、このボタンをタップすると別サイトを表示させたい 表示するサイトは、サーバー上の特定テキストファイルから引っこ抜いてくる ※現状のアプリは、他の人から引き継がれたもので、当時開発には一切関わっておりません。 まず、XMLファイルでボタンを追加し、IDを「button1」としました。 次に、ActivityクラスにLoaderCallbacksクラスを継承しました。 同時に、AsyncTaskLoaderクラスを作成し、非同期でテキストファイルの内容を取得し、 任意のサイトを表示させる、というところまでは完成しています。 最後に、ボタンタップでクリック処理を行う、というところなのですが、 ここでつまづいてしまいました。 public class Frame extends Activity implements View.OnClickListener, LoaderCallbacks<xxxxxx> { private Button nextButton; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // レイアウトで指定したWebViewのIDを指定する。 nextButton = (Button)findViewById(R.id.button1); setContentView(R.layout.frame); // クリック処理をセット nextButton.setOnClickListener(this);   ←ここでNullPointerException発生!        } public void onClick(View v) { if (v == nextButton) { // ここに、ボタンタップ後に行う処理を記述 } } } 追加した部分だけを抜き出したのが上記の処理なのですが、 onCreate内の【nextButton.setOnClickListener(this)】の部分で、 NullPointerExceptionが発生してしまいます。 この部分だけコメントアウトすると処理はとりあえず通るのですが、 クリック処理を受け取る設定ができていないので、もちろんボタンをタップしても 何もイベントは発生しません。 初歩的な質問で大変申し訳ないのですが、本当に解決法が分からず困っています。 どうぞ知恵をお貸しください、よろしくお願いします。

  • androidアプリ開発について

    androidアプリ開発初心者です。 やりたいことは、 スタートボタンを押して、自分のお気に入りのページに飛び、(例えばオークションなど)サイトを表示させ、何分間ごとに更新できるループ処理?などができればいいなと考えています。 スタートボタンを押してサイトを表示するまでは何とか作れたのですが、それ以降をどのように作ったらいいのか分かりません。 初心者的な質問で申し訳ないのですが、どのように書いたらよいのか教えてください。 コードはこのようになっています。 <<main.xml>> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="192dp" android:layout_height="wrap_content" android:text="スタート" /> </LinearLayout> <<MainActivity.java>> import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { Button btn =null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn=(Button)findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ Uri uri =Uri.parse("http://"); Intent intent=new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(uri); startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } 長文で申し訳ありません。どうぞ宜しくお願い致します。

  • Android開発の最初の段階でつまづく

    アンドロイドのアプリ制作を始めようと思い、なんとか環境を揃え、早速チュートリアルサイトを見ながら始めたのですが、早速、最初のHelloWorldでつまづいてしまいました。 以下ソースコードです。 ********************************************************************************** package helloAndroid.PackageName; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroidActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Hello,Andloid"); setContentView(tv); } } ********************************************************************************** このように書いたのですが、 The left-hand side of an assignment must be a variable というエラーが下から4行目の tv.setText("Hello,Andloid"); のところで出ます。 調べてはいるのですが、このエラーの意味がいまいちわからず困っています。 アドバイスよろしくお願いします。 私自身はVBを少し触ったことのある程度で、Javaは初めてです。

  • androidのintentの使い方

    // //問題:LISTを押すと、エラーが出る、Intentの問題ですか? // public class FirstActivity extends Activity { // onCreateメソッド(画面初期表示イベントハンドラ) private static final String TAG ="[HelloWorld]"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);// スーパークラスのonCreateメソッド呼び出し setContentView(R.layout.firstlayout);// レイアウト設定ファイルの指定 ListView listview = (ListView) findViewById(R.id.fruitlist); // ListViewオブジェクト取得 listview.setOnItemClickListener(new ListItemClickListener()); // ListViewオブジェクトにクリックリスナーを関連付け } // アイテムクリックリスナー定義 class ListItemClickListener implements OnItemClickListener { public void onItemClick(AdapterView<?> parent, View view, int position, long id) {// onItemClickメソッド(値選択時イベントハンドラ) ListView listview = (ListView) parent; // ListViewオブジェクト取得 String item = (String) listview.getItemAtPosition(position);// 選択された値取得 Log.d(item, TAG); Intent intent = new Intent(FirstActivity.this,SecondActivity.class);// インテントの生成(呼び出すクラスの指定) startActivity(intent);// 次のアクティビティの起動 } } } -------------------------------------------------------------------------- public class SecondActivity extends Activity { // onCreateメソッド(画面初期表示イベントハンドラ) @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // スーパークラスのonCreateメソッド呼び出し setContentView(R.layout.main);// レイアウト設定ファイルの指定 } }

    • ベストアンサー
    • Java
  • WEBから呼び出された場合、違うプログラムを実行

    教えて頂いた public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_g_main); Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setClassName("com.google.android.apps.maps","com.google.android.maps.MapsActivity"); intent.setData(Uri.parse("https://maps.google.com/")); startActivity(intent); } でマップが起動できました。 再度お尋ねしますが、普通の起動の場合WEBVIEWを表示させて、そのWEBビュー内のサイトから呼び出された場合、上記のマップを表示する場合どうしたらいいでしょうか??

  • Android JAVAへでの質問です

    (←※この部分!) の意味がわからないのでどなたか教えていただけないでしょうか? private EditText edit1; ですが、なぜ private がついているのでしょうか?なくても動きましたが何か意味があるのでしょうか? そしてどうして、この子はここにいるのでしょうか? Button btn1 と一緒に仲良くいてもいいんじゃないでしょうか? ================ import android.app.Activity; import android.os.Bundle; import android.text.Editable; import android.view.*; import android.view.View.OnClickListener; import android.widget.*; public class Test2Activity extends Activity { private EditText edit1;(←※この部分!) @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); edit1 = (EditText)this.findViewById(R.id.EditText1); Button btn1 = (Button)this.findViewById(R.id.button1); btn1.setOnClickListener(new MyClickA()); } class MyClickA implements OnClickListener { public void onClick(View view){ Editable e = edit1.getText(); int n = Integer.parseInt(e.toString()); Toast toast = Toast.makeText(getApplicationContext(), "数値=" + n, Toast.LENGTH_SHORT); toast.show(); } } }

    • ベストアンサー
    • Java