- 浏览: 183119 次
- 性别:
- 来自: 云南
文章分类
最新评论
-
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 671喝优团 引入第三方QQ登录 -
android版喝优团
2014-07-18 20:30 656喝优团是由大众点评提供数据的手机APP生活消费之一,创 ... -
android论坛网站,里面可以找到很多案例源码
2014-06-03 13:57 79751cto http://mobile.51cto.com/ ... -
Android手机中获取手机号码和运营商信息
2013-09-23 15:05 960来自于http://blog.csdn.net/peijian ... -
Android+JNI调用–文件操作
2013-08-27 18:26 1195这个讲的不错http://www.linuxidc.com/L ... -
Android的NDK开发
2013-08-27 16:01 742http://blog.csdn.net/conowen/ar ... -
Android的NDK开发(5)————Android JNI层实现文件的read、write与seek操作
2013-08-27 14:37 1012不错 http://blog.csdn.net/luhuajc ... -
Eclipse NDK 配置
2013-08-23 14:54 702http://www.cnblogs.com/chenjiaj ... -
八款开源 Android 游戏引擎
2013-08-20 18:01 7061、Angle Angle是一款专 ... -
Android连接SQLServer详细教程(数据库+服务器+客户端)
2013-08-15 11:22 1832来源于http://www.6619.net/a/kaifal ... -
Android adb shell 命令
2013-08-12 18:43 682adb 概述 SDK的Tools文件夹下包含着Andro ... -
安卓巴士总结了近百个Android优秀开源项目,覆盖Android开发的每个领域
2013-08-09 20:17 917来源于http://blog.chinaunix.net/ui ... -
android实现显示阳历和农历源码
2013-08-06 21:02 1708来自于http://blog.csdn.net/meshles ... -
android 字体使用自定义的.ttf文件
2013-08-06 20:55 1185这篇文章http://tank03.iteye.com/blo ... -
Android 文件打开方式
2013-08-04 17:56 1650来源于 http://blog.csdn.net/weich_ ... -
详解Android中AsyncTask的使用(简单易懂
2013-08-01 22:06 906from 来此这篇博客。非常不错 -
build.prop详解之修改ROM中默认语言,默认铃声,默认时区,版本信息打造个性rom
2013-07-29 18:29 2901# begin build properties开始设置系统性 ... -
Android系统默认值的设置
2013-07-29 18:28 9941开机图片: android-logo-mask.png ... -
android系统开发设置
2013-07-29 18:27 43731,开机不停震动 手机开机,马达一直震动,应该是uboot正 ... -
ANDROID 隐藏 任务栏 systemui systembar 全屏显示
2013-07-26 14:00 3448ANDROID 隐藏 任务栏 systemui systemb ...
相关推荐
HDSwfPlayer项目提供了一个Android应用的示例,它允许开发者在Android设备上加载和播放SWF文件。这个项目的核心是一个名为SwfView的自定义视图组件,它实现了SWF文件的解析和渲染。SwfView通常需要结合Android的...
本文将深入探讨如何在Eclipse环境中构建一个能够播放FLV文件的Android应用,同时也会提及所需的插件和测试代码。 首先,我们需要了解FLV文件格式。FLV是Flash Video的缩写,是一种流行的网络流媒体格式,常用于在线...
在 Android 的 WebView 中实现 WebSocket 通信是当前移动端应用开发中的一个热门话题。WebSocket 是 HTML5 规范中的一项技术,可以实现客户端与服务器之间的实时双向通信。在桌面浏览器中,WebSocket 技术已经得到了...
9. **国际化和本地化**:虽然这个项目可能基于英文版本,但理解如何实现应用的国际化和本地化(I18N & L10N)也是Android开发中的重要技能,包括使用资源文件处理不同语言和地区的文字。 10. **单元测试和调试**:...
通过WebView,开发者可以将网页内容嵌入到Android应用中。 2. 加载HTML内容:可以使用loadData()、loadDataWithBaseURL()或loadUrl()方法加载HTML字符串或远程网址。 3. JavaScript交互:启用JavaScript支持,使用...
对于手电筒应用,需要在`AndroidManifest.xml`文件中添加`<uses-permission>`标签,声明`android.permission.CAMERA`权限,因为闪光灯通常与相机功能关联。 2. **硬件接口访问**: Android提供Camera类来访问和...
- **API Level 8**:对应Android 2.2(Froyo),增加了Flash Player支持、无线热点功能等。 - **API Level 9**:对应Android 2.3(Gingerbread),增强了输入法、摄像头等功能。 - **API Level 10**:对应Android ...
学习Android应用程序开发,不仅是了解其历史,更是要掌握如何在这个平台上构建高效、用户友好的应用。通过深入学习,开发者能够利用Android SDK、Java编程语言以及各种开发工具,创造出满足市场需求的创新应用,参与...
在Android 2.3 (Gingerbread)中,开发者可以享受到以下重要更新: 1. **性能提升**:对Dalvik虚拟机进行了优化,提高了应用程序的运行速度和内存管理效率。 2. **多任务支持**:增强了多任务处理能力,允许用户同时...
- **行业需求**:国内多家大型企业如中国移动、中国联通、华为、联想等纷纷加入Android阵营,推动了Android相关技术的发展和应用。 - **职业机会**:由于Android市场的持续增长,对于具备Android开发技能的人才需求...
对于想要学习Android的初学者来说,掌握Java编程语言是基础,因为大部分Android应用是用Java编写的。同时,理解Android系统的基本架构、组件模型以及版本之间的差异也是学习的重点。 为了迅速搭建Android开发环境并...
对于Android开发,Eclipse可以配合Android Developer Tools (ADT)插件使用,它提供了专门针对Android应用开发的功能,比如代码提示、资源管理、模拟器管理等。ADT插件可以从<http://www.android.com>获取。 3. **...
### Android Things 1.0系统镜像下载及安装指南 #### 一、概述 随着物联网技术的发展,...遵循上述步骤可以帮助开发者快速搭建起基于 Android Things 的物联网开发平台,从而更好地探索物联网领域的新应用和技术。
这一版本不仅在界面设计上做出了一些改进,更重要的是加入了屏幕键盘功能,使得Android设备不再依赖实体键盘。此外,Android 1.5还引入了自定义屏幕键盘的支持,这一举措极大地提升了用户体验,并为第三方开发者提供...
6. **Flash Player支持**:在提到的压缩包中,提到了"FlashPlayer播放器falsh",这可能是指早期Android设备上使用的Adobe Flash Player。Flash Player曾广泛用于网页中的流媒体播放,但现在已经不再支持。然而,在...
4.5版本的Flash Builder为开发者提供了打包应用程序以支持Google Android、Apple iOS和BlackBerry Tablet OS设备的能力。不过,为了将应用部署到Apple iOS设备上,开发者需要通过特定的流程来获取苹果的签名证书和...
接着,需要编辑`/etc/profile`文件,将Repo脚本目录加入到`PATH`环境变量中。例如: ```bash PATH=/opt/repo:$PATH ``` ##### 2.2 下载源码 **创建存放源码的目录** 在用户主目录下创建一个新的目录用于存放...