2011年10月5日 星期三

Android學習_以WebView讀取SWF檔_flash做APP_Part1

系列文章:
1. Android學習_以WebView讀取SWF檔_flash做APP_Part1
2. Android學習_以Flash Builder 4.5製作Air放入Android_flash做APP_Part2
3. Android學習_為什麼Flash Builder 4.5做的APP可以跨平台_flash做APP_Part3
4. Android學習_頁面切換_flash做APP_Part4
5. Flex4學習_button change icon_flash做APP_Part5
6. Flex4學習_捲軸使用(Scroller)_flash做APP_Part6

昨天突然接到一個需求,有一個案子想要利用Flex或Flash來進行手機程式的開發,整體要求只有一句話『於手機上面顯示出電子書的感覺』,所以有三個可以做的方向。

1. 利用Android裡面的WebView讀取已經製作完成的SWF檔案。

2. 利用Flash Builder 4.5以上版本建立Mobile專案。

3. 直接利用JAVA Code來進行開發。

因為只負責測試環境,所以第三項就不考慮,因為預設是要交給會使用Action Script語法的人繼續開發。

---------------------------------------------------------------------------
為了單純,當然是希望直接用第一種方法,也就是利用Android的WebView來讀取SWF檔案。

作法:
1. xml的配置:只放下一個WebView。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

<WebView android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="match_parent"></WebView>

</LinearLayout>


2. 製作一個SWF檔案,放置到專案目錄(assets內)。
這邊要注意,製作的swf檔案必須先確認是否可以正常執行,若是發現編譯出來的swf檔案都只有底色,上面的按鈕及圖片等都沒出現,可以利用選單的Prject→Export Release Build來進行編譯。

**2012/11/19補充Export Release Build位置圖:

3. 撰寫Java Code。關鍵程式碼只有四句:
A. 找到webView
B. 設定該webView使用外掛。
C. 指定要讀取的url。(本機位置的語法:file:///android_asset/SmallBook.swf)
D. 利用loadUrl方法讀取該SWF。

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

WebView webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setPluginsEnabled(true);
String url ="file:///android_asset/SmallBook.swf";
webView.loadUrl(url);
}

接下來應該就可以在手機裡面看到swf檔案,但是整體執行起來的效果"應該"不會很滿意,所以接下來方案二。

2 則留言:

匿名 提到...

版大您好:
我是大四的專題生,想請問您,我做的swf動畫跟您說的一樣,有連結到但是只出現了灰底,沒有圖片文字,但是我在android找不到您說的Prject→Export Release Build,我的是2.3.3版本,是不是版本太舊或者它其他隱密的地方呢?請指點,謝謝您!!

ola的家 提到...

我是使用Flash Builder來製作的,功能位置我補充在文章中,請見第二點的附圖。

張貼留言