- 浏览: 178892 次
- 性别:
- 来自: 云南
文章分类
最新评论
-
chencangui:
楼主能分享下源码吗?蟹蟹了
Android使用VideoView播放网络视频 -
liulongke:
表示看完完全没看出来是繁体字的默默走过。。。
PagerAdapter用法 -
Alexia23:
很赞很详细!
JAVA列出目录下所有的文件&文件夹 -
snso001:
繁体字恶心了。。。
PagerAdapter用法 -
wushanlin123:
楼主,你的繁体字让我蛋碎了一地
PagerAdapter用法
无论如何,我们需要一个android2.2的平板电脑或者android2.2的手机一部,同时我们的android平台需要安装最新的flash for android 的插件。 具备了这些之后,我们就可以将flash通过webView的方式嵌入到我们自己的程序中了。
需要的知识:JavaScript知识、java知识、html知识,了解css的话,那最好。
不多说,和以前一样,直接上代码,上图。不解释太多。。。。
1. 项目结构图
2. 程序运行图
[img]http://hi.csdn.net/attachment/201012/17/91385_1292549973BLl1.png
[/img]
Java代码
01. package com.geolo.js.falsh;
02. import android.app.Activity;
03. import android.os.Bundle;
04. import android.os.Handler;
05. import android.os.Message;
06. import android.view.View;
07. import android.webkit.WebChromeClient;
08. import android.webkit.WebSettings.PluginState;
09. 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
Java代码
01. <?xml version="1.0" encoding="utf-8"?>
02. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
03. android:orientation="vertical" android:layout_width="fill_parent"
04. android:layout_height="fill_parent">
05. <WebView android:id="@+id/webView01" android:layout_width="wrap_content"
06. android:layout_height="wrap_content" />
07.
08. <ProgressBar android:id="@+id/progress_horizontal"
09. 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
Java代码
01. <mce:script src="play.js" mce_src="play.js"></mce:script>
02. <table border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
03. <tr>
04. <td>
05. <object id="movie" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
06. codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"
07. align="middle">
08. <param name="movie" value="about:blank" />
09. <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>
6.play.js
Java代码
01. var total;//定义flash影片总桢数
02. var frame_number;//定义flash影片当前桢数
03. //以下是滚动条图片拖动程序
04. var dragapproved=false;
05. var z,x,y
06. //动态显示播放影片的当前桢/总桢数(进度条显示)
07. function showcount(){
08. //已测可用CallJava.consoleFlashProgress(5);
09. 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. }
需要的知识:JavaScript知识、java知识、html知识,了解css的话,那最好。
不多说,和以前一样,直接上代码,上图。不解释太多。。。。
1. 项目结构图
2. 程序运行图
[img]http://hi.csdn.net/attachment/201012/17/91385_1292549973BLl1.png
[/img]
Java代码
01. package com.geolo.js.falsh;
02. import android.app.Activity;
03. import android.os.Bundle;
04. import android.os.Handler;
05. import android.os.Message;
06. import android.view.View;
07. import android.webkit.WebChromeClient;
08. import android.webkit.WebSettings.PluginState;
09. 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
Java代码
01. <?xml version="1.0" encoding="utf-8"?>
02. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
03. android:orientation="vertical" android:layout_width="fill_parent"
04. android:layout_height="fill_parent">
05. <WebView android:id="@+id/webView01" android:layout_width="wrap_content"
06. android:layout_height="wrap_content" />
07.
08. <ProgressBar android:id="@+id/progress_horizontal"
09. 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
Java代码
01. <mce:script src="play.js" mce_src="play.js"></mce:script>
02. <table border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
03. <tr>
04. <td>
05. <object id="movie" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
06. codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"
07. align="middle">
08. <param name="movie" value="about:blank" />
09. <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>
6.play.js
Java代码
01. var total;//定义flash影片总桢数
02. var frame_number;//定义flash影片当前桢数
03. //以下是滚动条图片拖动程序
04. var dragapproved=false;
05. var z,x,y
06. //动态显示播放影片的当前桢/总桢数(进度条显示)
07. function showcount(){
08. //已测可用CallJava.consoleFlashProgress(5);
09. 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. }
发表评论
-
实现android版 喝优团 引入第三方QQ登录
2014-07-23 12:07 625喝优团 引入第三方QQ登录 -
android版喝优团
2014-07-18 20:30 603喝优团是由大众点评提供数据的手机APP生活消费之一,创 ... -
android论坛网站,里面可以找到很多案例源码
2014-06-03 13:57 75651cto http://mobile.51cto.com/ ... -
Android手机中获取手机号码和运营商信息
2013-09-23 15:05 898来自于http://blog.csdn.net/peijian ... -
Android+JNI调用–文件操作
2013-08-27 18:26 1134这个讲的不错http://www.linuxidc.com/L ... -
Android的NDK开发
2013-08-27 16:01 704http://blog.csdn.net/conowen/ar ... -
Android的NDK开发(5)————Android JNI层实现文件的read、write与seek操作
2013-08-27 14:37 966不错 http://blog.csdn.net/luhuajc ... -
Eclipse NDK 配置
2013-08-23 14:54 663http://www.cnblogs.com/chenjiaj ... -
八款开源 Android 游戏引擎
2013-08-20 18:01 6751、Angle Angle是一款专 ... -
Android连接SQLServer详细教程(数据库+服务器+客户端)
2013-08-15 11:22 1795来源于http://www.6619.net/a/kaifal ... -
Android adb shell 命令
2013-08-12 18:43 652adb 概述 SDK的Tools文件夹下包含着Andro ... -
安卓巴士总结了近百个Android优秀开源项目,覆盖Android开发的每个领域
2013-08-09 20:17 875来源于http://blog.chinaunix.net/ui ... -
android实现显示阳历和农历源码
2013-08-06 21:02 1668来自于http://blog.csdn.net/meshles ... -
android 字体使用自定义的.ttf文件
2013-08-06 20:55 1133这篇文章http://tank03.iteye.com/blo ... -
Android 文件打开方式
2013-08-04 17:56 1617来源于 http://blog.csdn.net/weich_ ... -
详解Android中AsyncTask的使用(简单易懂
2013-08-01 22:06 873from 来此这篇博客。非常不错 -
build.prop详解之修改ROM中默认语言,默认铃声,默认时区,版本信息打造个性rom
2013-07-29 18:29 2813# begin build properties开始设置系统性 ... -
Android系统默认值的设置
2013-07-29 18:28 9381开机图片: android-logo-mask.png ... -
android系统开发设置
2013-07-29 18:27 43131,开机不停震动 手机开机,马达一直震动,应该是uboot正 ... -
ANDROID 隐藏 任务栏 systemui systembar 全屏显示
2013-07-26 14:00 3408ANDROID 隐藏 任务栏 systemui systemb ...
相关推荐
NativeApp 使用传统原生态Android SDK来实现的应用 WebApp 基于浏览器来实现的一种应用 HybridApp 一种可以下载的Native App,其用户界面的全部或者部分元素在嵌入式浏览器组件(WebView之类的)里面运行 优雅降级...
-支持手绘,并且可以将多页手绘内容保存为flash动画(SWF格式),方便和其他朋友分享; -支持文本、图片、视频、语音常用记事类型,还支持手绘涂鸦,可以对文字、图片进行放大、缩小、旋转、叠加等美化处理,让记事变成...
你自己用一行代码的 web 页中插入动画。 发布应用程序 创建打包的 web 应用程序 (W3C widget)。Web 应用程序可以转换为 iOS, Android 和 Windows 手机应用程序在使用大量的产品,如 PhoneGap 或 Cordova。这些...
开源间隔重复抽卡系统到Android的半官方端口。 用AnkiDroid记住任何东西! 产品特点 夜间模式 白板 进度小部件 详细统计 与AnkiWeb同步 写下答案(可选) 文字转语音整合 超过6000个预制甲板 间隔重复(supermemo ...
我有一台中兴的Android手机,型号是 ZTE U930HD,手机没有插入外置SD卡(也就是Micro SD Card,原名Trans-flash Card(TF卡),2004年正式更名为Micro SD Card),但是机身自带了一个内置存储卡(也就是eMMC存储,...
随着Google的Android手机和苹果的iPhone手机的逐渐普及,越来越多开发者加入到移动应用开发的大军当中。目前移动终端中的冠亚军Android,应用是基于Java语言基础上进行开发的;而苹果公司的iPhone则是基于C语言开发...
wen_ov5640_r16_20161114_1744后插入UVC可以打开ov5640和USB摄像头.7z 20161114全志R16配置为前ov5640后UVC的双摄像头 1、 Z:\home\wwt\uvc_r16_project\android\device\softwinner\astar-evb20\configs\camera....
手机照片使用Android / iOS应用程序查看您的照片。 可以自动上传它们。维护者 如果您想加入,只需浏览并修复一些! :building_construction: 开发设置 :cloud: 将其克隆到Nextcloud的apps文件夹中。 :woman::laptop:...
* APP:日历插入,回家,杀死应用程序,加载应用程序,打开地图(/ StreetView / Nav) *音频:警报/呼叫/ DTMF /媒体/通知/振铃/系统音量,触觉反馈切换,麦克风静音,通知脉冲,通知()/振铃振动(或根),静音...
Google曾在自己的官方博客中宣布在Beta版Chrome25 中将加入网络语音API(Web SpeechAPI),让用户在某些嵌入了JavaScript的网页中可以更方便地使用语音指令、听写等功能。同时新版本在内容安全策略标头(Content ...
应用程序是使用Jetpack Compose和帮助程序撰写工具(如导航,窗口插入等)构建的。 :camera_with_flash:屏幕截图 执照 Copyright 2020 The Android Open Source Project Licensed under the Apache License, ...
Z:\home\wwt\uvc_r16_project\android\device\softwinner\astar-evb20\configs\camera.cfg 修改: number_of_camera = 1 为: number_of_camera = 2 如果不改这里,兄弟,你在camera这个APP里面是绝对看不到前后...
随着Web的普及,浏览器及其插件如Flash和Silverlight也都成为平台。企业软件开发中,又有WebSphere、JBoss等中间件和各种面向领域的业务平台,也都是平台。 Web 2.0、云计算发展起来后,为了共享数据,提供更无缝的...
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...
Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...