2012-01-10 14 views
0

こんにちは、アンドロイド開発の初心者です。私は、エミュレータにswfファイルをロードする必要があるアプリケーションを1つ作成しました。そのために私はprjt-workspace/assets/test.swfにswfファイルを1つ入れて、 とコードから、このswfをWebViewにロードしようとしました。これを実行しようとしているが、空白のページを取得中logcatに次のエラーを取得しています:アンドロイドエミュレータでswfファイルをロード

01-10 15:26:00.271: D/WebCore(10262): Console: Not allowed to load local 
resource: file:///E:/android_new_workspace/FirstAndroidPrjt/assets/Demo_mobile.swf 
line: 0 source: 

次は私が使用したコード部分である:

public class WebViewExample extends Activity{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.loadswf); 
     String html = 
      "<object width=\"550\" height=\"400\"><param name=\"movie\" value=\"file:///E:/android_new_workspace/FirstAndroidPrjt/assets/Demo_mobile.swf\">" + 
      "<embed src=\"file:///E:/android_new_workspace/FirstAndroidPrjt/assets/Demo_mobile.swf\" width=\"550\" height=\"400\"> </embed> </object>"; 
     String mimeType = "text/html"; 
     String encoding = "utf-8"; 
     WebView wv=(WebView) findViewById(R.id.webview); 
     wv.getSettings().setJavaScriptEnabled(true); 
     wv.getSettings().setPluginsEnabled(true); 
     wv.loadDataWithBaseURL("null", html, mimeType, encoding, ""); 
     wv.setWebViewClient(new HelloWebViewClient()); 

     } 
    } 


public class HelloWebViewClient extends WebViewClient{ 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
     } 

} 

誰もが、我々はこの問題を解決する方法を教えてもらえます。 ?

system-directoryからfilepathの代わりにurlを直接与えることでswfを読み込むことはできますか?

専門家は

答えて

1

@Tijo .. ...事前に感謝を助けてください:あなたが指定することができます。webview.loadUrl("file:///android_asset/myown.swf");

またはあなたがこのような何かに置くことができます:あなたはからファイルパスを使用することはできません<embed src=\"file:///android_asset/BannerRotatorFX.swf\" width=\"550\" height=\"400\"> </embed> </object>";

をあなたのシステムディレクトリ。しかしswfファイルをあなたのアンドロイドアプリの資産フォルダに入れることができます

AFAIK、エミュレータAFAIKでflashplayerをダウンロードできないので、swfをエミュレータでデフォルトでロードすることはできません。しかし、私は個人的に試していないが、Flashplayerのライブラリファイルをエミュレータの中に手動で置くことができると思う。 (私はまだどこにデバイスがフラッシュプレイヤーのライブラリが住んでいるので、私はそれをコピーすることができます探しています)。

私はこれがあなたを助けてくれることを願っています。

+0

yea、それは問題でした...私は私のコードが正しく動作しているエミュレータを使用する代わりに、実際のデバイスにファイルを置く。私のコードで変更する必要はありません。とにかく私に答えるのはうれしい。 –

関連する問題