首页 > 其他分享 >PhoneGap的Android端插件开发

PhoneGap的Android端插件开发

时间:2023-01-05 12:08:50浏览次数:59  
标签:插件 PhoneGap play VideoPlayer url video Android


来自51cto:​​http://mobile.51cto.com/android-309311.htm​

 

前面一篇文章 《​​移动 APP 之跨平台解决方案​​》 介绍了一种跨平台的解决方案,即用开发web app的方式来编写mobile app。鉴于PhoneGap才刚刚新起,还有许多功能因为平台的差异性无法很好的解决,所以我们在实际的开发中,发现有很多功能还需要完善,一种比较好 的方式就是编写平台依赖的插件,进而扩展PhoneGap的功能。

PhoneGap的Android端插件开发_javascript

本文介绍一下开发和使用插件的一个流程,以 ​​VideoPlayer​​ 为例。

  1. 环境搭建,下载 phonegap-android 的源码,下载地址 ​​https://github.com/phonegap/phonegap-android​
  2. 编写video.js,提供给web开发端的接口定义,定义了一个VideoPlayer类和play函数,参数为要播放的文件视频地址,代码如下:
1. /**
2. * Constructor
3. */
4. function
5. };
6. /**
7. * Starts the video player intent
8. *
9. * @param url The url to play
10. */
11. VideoPlayer.prototype.play = function(url) {
12. null, null, "VideoPlayer", "playVideo", [url]);
13. };
14. /**
15. * Load VideoPlayer
16. */
17. PhoneGap.addConstructor(function() {
18. "videoPlayer", new
19. });
  1. 编写 Android VideoPlayer 的具体实现代码,VideoPlayer/src/com/phonegap/plugins/video/VideoPlayer.java
1. package
2. import
3. import
4. import
5. import
6. import
7. import
8. publicclass VideoPlayer extends
9. privatestaticfinal String YOU_TUBE = "youtube.com";
10. @Override
11. public
12. PluginResult.Status status = PluginResult.Status.OK;
13. "";
14. try
15. if (action.equals("playVideo")) {
16. playVideo(args.getString(0));
17. }
18. else
19. status = PluginResult.Status.INVALID_ACTION;
20. }
21. returnnew
22. catch
23. returnnew
24. }
25. }
26. privatevoid
27. // Create URI
28. Uri uri = Uri.parse(url);
29. null;
30. // Check to see if someone is trying to play a YouTube page.
31. if
32. // If we don't do it this way you don't have the option for youtube
33. new
34. else
35. // Display video player
36. new
37. "video/*");
38. }
39. this.ctx.startActivity(intent);
40. }
41. }
  1. 配置插件, res/xml/plugins.xml 添加如下代码
1. <pluginname="VideoPlayer"value="com.phonegap.plugins.video.VideoPlayer"/>
  1. 编写代码进行调用,文件开头引入js代码框架,然后进行VideoPlayer类的play函数调用
1. <scripttype="text/javascript"charset="utf-8"src="phonegap.js"></script>
2. <scripttype="text/javascript"charset="utf-8"src="video.js"></script>
3. //Sample use:
4. /**
5. * Display an intent to play the video.
6. *
7. * @param url The url to play
8. */
9. //play(url)
10. window.plugins.videoPlayer.play("http://path.to.my/video.mp4");
11. window.plugins.videoPlayer.play("file:///path/to/my/video.mp4");
  1. 到此为止,插件的开发和部署,以及调用就都ok了,是不是很简单啊!

最后向大家推荐一本书籍《PhoneGap Beginner’s Guide》,相信通过本书的学习,就知道了怎样利用PhoneGap来开发跨平台的mobile app了,同时也可以关注​​https://github.com/phonegap​​项目的最新进展情况和新特性,如果可以的话,贡献自己的力量来进行完善和扩充!

【编辑推荐】



  1. ​PhoneGap应用开发的那些坑爹事儿​
  2. ​PhoneGap:移动APP之跨平台解决方案​


标签:插件,PhoneGap,play,VideoPlayer,url,video,Android
From: https://blog.51cto.com/kenkao/5990002

相关文章

  • Android 性能调优笔记
    1、​​Android性能全面分析与优化方案研究—几乎是史上最全最实用的​​2、Android性能优化总结3、Android应用内存泄漏的定位、分析与解决策略4、Java垃圾回收器的GC......
  • Android屏幕适配小技巧swdp
    最近做一个项目需要适配到不同的平板和手持设备上,在屏幕适配上遇到了一些问题,查了Android官方文档了解了一些技巧的,现在总结如下:先解释几个概念:1、dpi(dotperinch),即每英......
  • 在Linux下adb连接不上android手机的终极解决方案
    1、做android开发的过程,碰到了Linux下adb识别不了android设备的问题,刚开始在网上google下,发现都是针对ubuntu下的一些说明:如google提供的方法:​​http://developer.android.......
  • Android系统字体
    原理:Android手机的字体库在/system/fonts下,取得root权限以后,只要把对应的字体文件替换即可。其中DroidSansFallback.ttf为中文字体;DroidSans.ttf为英文字体。替换步骤:工具:R.......
  • Jenkins通过安装ssh插件实现构建后推送到其它服务器
    参考博客:https://www.cnblogs.com/zhchoutai/p/8869898.html一、PublishOverSSH 安装   因为我这里已经安装了PublishOverSSH 所以在installdeplugins中可......
  • Android EncodingUtils
    EncodingUtils报错CannotResolveSymbolEncodingUtils  提示是:错误:程序包org.apache.http.util不存在 错误:找不到符号  符号:变量 EncodingUtils 解决办法Enc......
  • 验证OK-AndroidStudio引用第三方so库的正确姿势
    AndroidStudio引用第三方so库的正确姿势 以项目名称app1为例:1、把so文件复制到\app1\app\libs\文件夹下,但是要注意,so文件是放在对应的平台文件夹之下(如arm64-v8a,ar......
  • ubuntu下安装mysql + qt编译mysql插件
    sudoapt-getinstallmysql-serverapt-getisntallmysql-clientsudoapt-getinstalllibmysqlclient-dev安装成功后可以看一下有没有进程在监听sudonetstat-tap......
  • Android-Intent界面跳转
    1、问题描述在登陆界面中点击一个button时,触发后台检验用户名密码的正确性,如果符合数据库那么就登陆成功,本文简单介绍该结构,不设计数据库等调用,仅为两个验证字符串。2、结果......
  • Android-创建简单登陆界面
    文章目录​​1、问题描述​​​​2、结果展示​​​​3、具体实现​​​​4、代码实现​​1、问题描述使用androidstudio或者其他开发案桌工具,创建一个简易的登陆界面。2......