加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

将flash嵌入android程序

发布时间:2020-12-15 18:20:55 所属栏目:百科 来源:网络整理
导读:??无论如何,我们需要一个android2.2的平板电脑或者android2.2的手机一部,同时我们的android平台需要安装最新的flash for android 的插件。 ?具备了这些之后,我们就可以将flash通过webView的方式嵌入到我们自己的程序中了。 ??需要的知识:JavaScript知识

??无论如何,我们需要一个android2.2的平板电脑或者android2.2的手机一部,同时我们的android平台需要安装最新的flash for android 的插件。 ?具备了这些之后,我们就可以将flash通过webView的方式嵌入到我们自己的程序中了。

??需要的知识:JavaScript知识、java知识、html知识,了解css的话,那最好。

?

??不多说,和以前一样,直接上代码,上图。不解释太多。。。。

?

1. 项目结构图

?

?

2. 程序运行图

?

3.MainActivity .java ?主类

[java] view plain copy print ?
  1. package?com.geolo.js.falsh;??
  2. import?android.app.Activity;??
  3. import?android.os.Bundle;??
  4. import?android.os.Handler;??
  5. import?android.os.Message;??
  6. import?android.view.View;??
  7. import?android.webkit.WebChromeClient;??
  8. import?android.webkit.WebSettings.PluginState;??
  9. import?android.webkit.WebView;??
  10. import?android.widget.Button;??
  11. import?android.widget.FrameLayout;??
  12. import?android.widget.ProgressBar;??
  13. public?class?MainActivity?extends?Activity?{??
  14. ????private?WebView?mWebView;??
  15. ????private?Button?playButton,pauseButton;??
  16. ????private?ProgressBar?mProgressBarHorizontal;??
  17. ????private?final?static?int?PROGRESSBARSIZE?=?0x0000;??
  18. ????@Override??
  19. ????public?void?onCreate(Bundle?savedInstanceState)?{??
  20. ????????super.onCreate(savedInstanceState);??
  21. ????????setContentView(R.layout.main);??
  22. ????????mWebView?=?(WebView)findViewById(R.id.webView01);???
  23. ????????mProgressBarHorizontal?=?(ProgressBar)findViewById(R.id.progress_horizontal);??
  24. ????????this.setProgress(mProgressBarHorizontal.getProgress()?*?100);??
  25. ????????//this.setSecondaryProgress(mProgressBarHorizontal.getSecondaryProgress()?*?100);??
  26. ????????playButton?=?(Button)findViewById(R.id.playButton);??
  27. ????????pauseButton?=?(Button)findViewById(R.id.pauseButton);??
  28. ????????playButton.setOnClickListener(buttonListener);??
  29. ????????pauseButton.setOnClickListener(buttonListener);??
  30. ????????mWebView.getSettings().setJavaScriptEnabled(true);????
  31. ????????//mWebView.getSettings().setPluginsEnabled(true);??
  32. ????????mWebView.getSettings().setPluginState(PluginState.ON);??
  33. ????????mWebView.setWebChromeClient(new?WebChromeClient());???
  34. ????????mWebView.addJavascriptInterface(new?CallJava(),?"CallJava");??
  35. ????????mWebView.loadUrl("file:///android_asset/sample/index.html");???
  36. ????????startThread();??
  37. ????}??
  38. ????Button.OnClickListener?buttonListener?=?new?Button.OnClickListener()?{????
  39. ????????@Override??
  40. ????????public?void?onClick(View?v)?{??
  41. ????????????int?buttonID?=?v.getId();??
  42. ????????????switch?(buttonID)?{??
  43. ????????????case?R.id.playButton:??
  44. ????????????????mWebView.loadUrl("javascript:Play()");??
  45. ????????????????showFlashProgress(5);??
  46. ????????????????break;??
  47. ????????????case?R.id.pauseButton:??
  48. ????????????????mWebView.loadUrl("javascript:Pause()");??
  49. ????????????????break;??
  50. ????????????default:??
  51. ????????????????break;??
  52. ????????????}??
  53. ????????}??
  54. ????};??
  55. ????public?void?showFlashProgress(float?progressSize){??
  56. ????????int?size?=?(int)progressSize;??
  57. ????????//Toast.makeText(this,?size+"",?Toast.LENGTH_SHORT).show();??
  58. ????????mProgressBarHorizontal.setProgress(size);??
  59. ????}??
  60. ????@Override??
  61. ????protected?void?onPause(){??
  62. ????????super.onPause();??
  63. ????????mWebView.pauseTimers();??
  64. ????????if(isFinishing()){??
  65. ????????????mWebView.loadUrl("about:blank");??
  66. ????????????setContentView(new?FrameLayout(this));??
  67. ????????}??
  68. ????}??
  69. ????@Override??
  70. ????protected?void?onResume(){??
  71. ????????super.onResume();??
  72. ????????mWebView.resumeTimers();??
  73. ????}??
  74. ????private?final?class?CallJava{??
  75. ????????public?void?consoleFlashProgress(float??progressSize){??
  76. ????????????showFlashProgress(progressSize);??
  77. ????????}??
  78. ????}??
  79. ????private?void?startThread(){??
  80. ????????//通过线程来改变ProgressBar的值??
  81. ????????new?Thread(new?Runnable()?{??
  82. ????????????@Override??
  83. ????????????public?void?run()?{??
  84. ????????????????while(!Thread.currentThread().isInterrupted()){??
  85. ????????????????????try?{??
  86. ????????????????????????Thread.sleep(2000);??
  87. ????????????????????????Message?message?=?new?Message();??
  88. ????????????????????????message.what?=?MainActivity.PROGRESSBARSIZE;??
  89. ????????????????????????MainActivity.this.myMessageHandler.sendMessage(message);??
  90. ????????????????????}?catch?(Exception?e)?{??
  91. ????????????????????????Thread.currentThread().interrupt();??
  92. ????????????????????}??
  93. ????????????????}??
  94. ????????????}??
  95. ????????}).start();??
  96. ????}??
  97. ????Handler?myMessageHandler?=?new?Handler()?{??
  98. ????????@Override??
  99. ????????public?void?handleMessage(Message?msg)?{??
  100. ????????????switch?(msg.what)?{??
  101. ????????????case?MainActivity.PROGRESSBARSIZE:??
  102. ????????????????mWebView.loadUrl("javascript:showcount()");??
  103. ????????????????break;??
  104. ????????????default:??
  105. ????????????????break;??
  106. ????????????}??
  107. ????????????super.handleMessage(msg);??
  108. ????????}??
  109. ????};??
  110. }??
?

?

4. main.xml

?

[xhtml] view plain copy print ?
  1. <?xml?version="1.0"?encoding="utf-8"?>??
  2. <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  3. ????android:orientation="vertical"?android:layout_width="fill_parent"??
  4. ????android:layout_height="fill_parent">??
  5. ????<WebView?android:id="@+id/webView01"?android:layout_width="wrap_content"??
  6. ????????android:layout_height="wrap_content"?/>??
  7. ??????????
  8. ????<ProgressBar?android:id="@+id/progress_horizontal"??
  9. ????????style="?android:attr/progressBarStyleHorizontal"?android:layout_width="fill_parent"??
  10. ????????android:layout_height="wrap_content"?android:max="100"??
  11. ????????android:progress="0"?android:secondaryProgress="0"?/>??
  12. ??????????
  13. ????<LinearLayout?android:orientation="horizontal"??
  14. ????????android:layout_width="fill_parent"?android:layout_height="wrap_content">??
  15. ????????<Button?android:id="@+id/playButton"?android:layout_width="wrap_content"??
  16. ????????????android:layout_height="wrap_content"?android:text="play"?/>??
  17. ????????<Button?android:id="@+id/pauseButton"?android:layout_width="wrap_content"??
  18. ????????????android:layout_height="wrap_content"?android:text="pause"?/>??
  19. ????</LinearLayout>??
  20. </LinearLayout>????
?

?

5. index.html

?

[xhtml] view plain copy print ?
  1. <mce:script?src="play.js"?mce_src="play.js"></mce:script>??
  2. <table?border="0"?cellpadding="0"?cellspacing="1"?bgcolor="#000000">??
  3. ??<tr>??
  4. ????<td>??
  5. ?????<object?id="movie"?classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"???
  6. ?????????codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0"???
  7. ????????align="middle">??
  8. ???????<param?name="movie"?value="about:blank"?/>??
  9. ???????<param?name="quality"?value="high"?/>??
  10. ?????</object>??
  11. ????</td>??
  12. ??</tr>??
  13. </table>??
  14. ?????
  15. ?????
  16. ???<!--?<a?href="javascript:CallJava.consoleFlashProgress(3)"?mce_href="javascript:CallJava.consoleFlashProgress(3)">add?Progress</a>???
  17. ???<a?href="#"?mce_href="#"?onClick="showcount()">add?Progress</a>???
  18. ????-->??
  19. <mce:script?type="text/javascript"><!--??
  20. ??loadSWF("testFlash.swf","800","480");?//loadSWF("flash地址","宽度","高度")??
  21. //?--></mce:script>??
  22. ???
?

?

6.play.js

?

[javascript] view plain copy print ?
  1. var?total;//定义flash影片总桢数??
  2. var?frame_number;//定义flash影片当前桢数??
  3. //以下是滚动条图片拖动程序??
  4. var?dragapproved=false;??
  5. var?z,x,y??
  6. //动态显示播放影片的当前桢/总桢数(进度条显示)??
  7. function?showcount(){??
  8. ????//已测可用CallJava.consoleFlashProgress(5);??
  9. ????total?=?movie.TotalFrames;??
  10. ????frame_number=movie.CurrentFrame();??
  11. ????frame_number++;??
  12. ????var?progressSize?=?100*(frame_number/movie.TotalFrames());??
  13. ????CallJava.consoleFlashProgress(progressSize);??
  14. }??
  15. //播放影片???
  16. function?Play(){??
  17. ????movie.Play();??
  18. }??
  19. //暂停播放??
  20. function?Pause(){??
  21. ?movie.StopPlay();??
  22. }??
  23. //开始载入flash影片??
  24. function?loadSWF(fsrc,fwidth,fheight){??
  25. ?movie.LoadMovie(0,?fsrc);??
  26. ?movie.width=fwidth;??
  27. ?movie.height=fheight;??
  28. ?frame_number=movie.CurrentFrame();??
  29. ?jindu();??
  30. }?

原文地址:http://blog.csdn.net/GEOLO/article/details/6081456

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读