2011-06-30 17 views
1

アンドロイドエミュレータでインタラクティブなSWFファイルを読み込むと問題が発生します。私は2.3.1 AVDを使用します。androidのswfファイルの読み込み中に問題が発生しました

これはコードです:

package com.androidpeople.view; 

    import android.app.Activity; 
    import android.os.Bundle; 
    import android.webkit.WebView; 

    public class WebViewExample extends Activity { 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 

      /*WebView webView = (WebView) findViewById(R.id.webview); 
      webView.getSettings().setJavaScriptEnabled(true); 
      webView.loadUrl("http://www.androidpeople.com"); 

      webView.setWebViewClient(new HelloWebViewClient());*/ 

      String html = 
       "<object width=\"550\" height=\"400\"> <param name=\"movie\" value=\"file:///android_asset/FL.swf\"> <embed src=\"file:///android_asset/FL.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()); 



     } 
    } 


package com.androidpeople.view; 

import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class HelloWebViewClient extends WebViewClient { 

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

} 

マニフェストファイル:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.androidpeople.view" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".WebViewExample" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

</application> 
<uses-sdk android:minSdkVersion="5" /> 

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

</manifest> 

今の問題は、私はプロジェクトを実行すると、それはのような中央右側3Dの次元で1箱を与えるということです。

this is the image

は、私はまた、変更しようとしています異なったSWFファイルを作成できますが、適切な解決策を得ることはできません。

誰でも手伝ってもらえますか?ありがとう。

+1

は、例えば、正しいあなたのリンクですfile:///android_asset/FL.swfにリンクするタグを追加すると、ファイルをダウンロードできますか? –

+2

@ niky:答えがない理由の1つは、「誰でも私を助けることができますか?」以外の質問をしなかったことです。 – CommonsWare

+0

yaその合計正確かつ私は多くの時間をチェックしている –

答えて

3

フラッシュエミュレータ上で実行することはできません

wv.loadData(html, mimeType, encoding, ""); 
wv.getSettings().setJavaScriptEnabled(true); 
+0

私はあなたが示唆したようにエミュレーターと同じ問題を抱えていますが、私はすべて上記の画像の青いシンボルが消えてしまっていますが、アニメーションを見ることができず、すべてのコードが正しいと思います。 ! http://stackoverflow.com/questions/9308712/how-to-run-the-swf-file-in-android-emulator – VENKI

3

これは、Flash Playerをインストールする必要があるからです。 adobe Webサイトからapkをダウンロードし、エミュレータにインストールします。

+0

私はフラッシュプレーヤーをインストールしましたが、まだ問題を解決します –

+0

ウェブ?フラッシュアニメーションが表示されていますか? –

+0

ya。また、私のフラッシュ開発者はAdobe-air経由でapkを生成し、デバイスでテストするとうまくいきますが、この方法で対話型swfファイルを作成しようとすると、デバイスにロードする際に問題が発生します。私はあなたに伝えたいことは、非対話型swfファイルをロードしようとするとうまくいくということです。でも問題はここで上がっています.... –

0

wv.loadDataWithBaseURL("null", html, mimeType, encoding, ""); 

を交換してください!
少なくとも、そうする方法は見つけられませんでした。しかし、this siteからAPKをダウンロードし、デバイスにインストールすることができます。次に、次のコードを使用して、私はフラッシュを動作させました。

activity_main.xmlで
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    WebView webView = (WebView) findViewById(R.id.webview); 
    webView.getSettings().setPluginState(WebSettings.PluginState.ON); 
    webView.loadUrl("http://www.adobe.com/software/flash/about/"); 
} 

<WebView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/webview" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
/> 
関連する問題