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

将flash嵌入你的程序中

发布时间:2020-12-15 06:15:34 所属栏目:百科 来源:网络整理
导读:原文地址:http://www.voidcn.com/article/p-fhbqilml-tm.html? 无论如何,我们需要一个android2.2的平板电脑或者android2.2的手机一部,同时我们的android平台需要安装最新的flash for android 的插件。 ?具备了这些之后,我们就可以将flash通过webView的方

原文地址:http://www.voidcn.com/article/p-fhbqilml-tm.html?

无论如何,我们需要一个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. 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. 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. ????????????}??
  52. ????????}??
  53. ????};??
  54. void?showFlashProgress(float?progressSize){??
  55. int?size?=?(int)progressSize;??
  56. //Toast.makeText(this,?size+"",?Toast.LENGTH_SHORT).show();??
  57. ????????mProgressBarHorizontal.setProgress(size);??
  58. protected?void?onPause(){??
  59. super.onPause();??
  60. ????????mWebView.pauseTimers();??
  61. if(isFinishing()){??
  62. ????????????mWebView.loadUrl("about:blank");??
  63. ????????????setContentView(new?FrameLayout(this));??
  64. ????}??
  65. ????void?onResume(){??
  66. ????????super.onResume();??
  67. ????????mWebView.resumeTimers();??
  68. class?CallJava{??
  69. void?consoleFlashProgress(float??progressSize){??
  70. ????????????showFlashProgress(progressSize);??
  71. void?startThread(){??
  72. ????????//通过线程来改变ProgressBar的值??
  73. new?Thread(new?Runnable()?{??
  74. ????????????void?run()?{??
  75. while(!Thread.currentThread().isInterrupted()){??
  76. ????????????????????try?{??
  77. ????????????????????????Thread.sleep(2000);??
  78. ????????????????????????Message?message?=?new?Message();??
  79. ????????????????????????message.what?=?MainActivity.PROGRESSBARSIZE;??
  80. ????????????????????????MainActivity.this.myMessageHandler.sendMessage(message);??
  81. ????????????????????}?catch?(Exception?e)?{??
  82. ????????????????????????Thread.currentThread().interrupt();??
  83. ????????????????????}??
  84. ????????????????}??
  85. ????????}).start();??
  86. ????Handler?myMessageHandler?=?new?Handler()?{??
  87. ????????void?handleMessage(Message?msg)?{??
  88. switch?(msg.what)?{??
  89. case?MainActivity.PROGRESSBARSIZE:??
  90. ????????????????mWebView.loadUrl("javascript:showcount()");??
  91. super.handleMessage(msg);??
  92. ????????}??
  93. ????};??
  94. }??
?

?

4. main.xml

?

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

?

5. index.html

?

?
    mce:script?src="play.js"?mce_src="play.js">mce:scripttable?border="0"?cellpadding="0"?cellspacing="1"?bgcolor="#000000" ??trtd ?????object?id="movie"?classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"???
  1. ?????????codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0"???
  2. ????????align="middle" ???????param?name="movie"?value="about:blank"? ???????param?name="quality"?value="high"? ?????object ??table ?????
  3. ?????
  4. ???<!--?a?href="javascript:CallJava.consoleFlashProgress(3)"?mce_href="javascript:CallJava.consoleFlashProgress(3)">add?Progressa>???
  5. ???a?href="#"?mce_href="#"?onClick="showcount()">???
  6. ????--mce:script?type="text/javascript"><!--??
  7. ??loadSWF("testFlash.swf","800","480");?//loadSWF("flash地址","宽度","高度")??
  8. //?-- ???
?

?

6.play.js

?

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

(编辑:李大同)

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

    推荐文章
      热点阅读