成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PhoneGap的Android端插件開發

移動開發 Android
鑒于PhoneGap才剛剛新起,還有許多功能因為平臺的差異性無法很好的解決,所以我們在實際的開發中,發現有很多功能還需要完善,一種比較好的方式就是編寫平臺依賴的插件,進而擴展PhoneGap的功能。

前面一篇文章 《移動 APP 之跨平臺解決方案》 介紹了一種跨平臺的解決方案,即用開發web app的方式來編寫mobile app。鑒于PhoneGap才剛剛新起,還有許多功能因為平臺的差異性無法很好的解決,所以我們在實際的開發中,發現有很多功能還需要完善,一種比較好 的方式就是編寫平臺依賴的插件,進而擴展PhoneGap的功能。

本文介紹一下開發和使用插件的一個流程,以 VideoPlayer 為例。

  1. 環境搭建,下載 phonegap-android 的源碼,下載地址 https://github.com/phonegap/phonegap-android
  2. 編寫video.js,提供給web開發端的接口定義,定義了一個VideoPlayer類和play函數,參數為要播放的文件視頻地址,代碼如下:
    1. /** 
    2.  * Constructor 
    3.  */ 
    4. function VideoPlayer() { 
    5. }; 
    6.  
    7. /** 
    8.  * Starts the video player intent 
    9.  * 
    10.  * @param url           The url to play 
    11.  */ 
    12. VideoPlayer.prototype.play = function(url) { 
    13.     PhoneGap.exec(nullnull"VideoPlayer""playVideo", [url]); 
    14. }; 
    15.  
    16. /** 
    17.  * Load VideoPlayer 
    18.  */ 
    19. PhoneGap.addConstructor(function() { 
    20.     PhoneGap.addPlugin("videoPlayer"new VideoPlayer()); 
    21. }); 
  3. 編寫 Android VideoPlayer 的具體實現代碼,VideoPlayer/src/com/phonegap/plugins/video/VideoPlayer.java
    1. package com.phonegap.plugins.video; 
    2.  
    3. import org.json.JSONArray; 
    4. import org.json.JSONException; 
    5. import android.content.Intent; 
    6. import android.net.Uri; 
    7. import com.phonegap.api.Plugin; 
    8. import com.phonegap.api.PluginResult; 
    9.  
    10. public class VideoPlayer extends Plugin { 
    11.     private static final String YOU_TUBE = "youtube.com"
    12.  
    13.     @Override 
    14.     public PluginResult execute(String action, JSONArray args, String callbackId) { 
    15.         PluginResult.Status status = PluginResult.Status.OK; 
    16.         String result = ""
    17.  
    18.         try { 
    19.             if (action.equals("playVideo")) { 
    20.                 playVideo(args.getString(0)); 
    21.             } 
    22.             else { 
    23.                 status = PluginResult.Status.INVALID_ACTION; 
    24.             } 
    25.             return new PluginResult(status, result); 
    26.         } catch (JSONException e) { 
    27.             return new PluginResult(PluginResult.Status.JSON_EXCEPTION); 
    28.         } 
    29.     } 
    30.  
    31.     private void playVideo(String url) { 
    32.         // Create URI 
    33.         Uri uri = Uri.parse(url); 
    34.  
    35.         Intent intent = null
    36.         // Check to see if someone is trying to play a YouTube page. 
    37.         if (url.contains(YOU_TUBE)) { 
    38.             // If we don't do it this way you don't have the option for youtube 
    39.             intent = new Intent(Intent.ACTION_VIEW, uri); 
    40.         } else { 
    41.             // Display video player 
    42.             intent = new Intent(Intent.ACTION_VIEW); 
    43.             intent.setDataAndType(uri, "video/*"); 
    44.         } 
    45.  
    46.         this.ctx.startActivity(intent); 
    47.     } 
  4. 配置插件, res/xml/plugins.xml 添加如下代碼
    1. <plugin name="VideoPlayer" value="com.phonegap.plugins.video.VideoPlayer"/> 
  5. 編寫代碼進行調用,文件開頭引入js代碼框架,然后進行VideoPlayer類的play函數調用
    1. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 
    2. <script type="text/javascript" charset="utf-8" src="video.js"></script> 
    3.  
    4.  //Sample use: 
    5.  /** 
    6.     * Display an intent to play the video. 
    7.     * 
    8.     * @param url           The url to play 
    9.     */ 
    10.  //play(url) 
    11.  
    12. window.plugins.videoPlayer.play("http://path.to.my/video.mp4"); 
    13. window.plugins.videoPlayer.play("file:///path/to/my/video.mp4"); 
  6. 到此為止,插件的開發和部署,以及調用就都ok了,是不是很簡單啊!

最后向大家推薦一本書籍《PhoneGap Beginner’s Guide》,相信通過本書的學習,就知道了怎樣利用PhoneGap來開發跨平臺的mobile app了,同時也可以關注https://github.com/phonegap項目的最新進展情況和新特性,如果可以的話,貢獻自己的力量來進行完善和擴充!

責任編輯:佚名 來源: 潤物無聲的博客
相關推薦

2011-10-11 10:06:12

PhoneGap插件

2012-03-07 11:17:19

AndroidPhoneGap插件

2011-09-02 13:38:56

PhoneGap插件Android

2011-07-05 15:26:23

2011-09-13 09:49:59

PhoneGap插件

2011-12-30 15:11:36

Adobe視頻PhoneGap

2011-07-01 15:02:53

PhoneGap移動開發框架

2011-12-19 08:57:46

PhoneGapNativeContr

2011-09-05 14:26:43

PhoneGap插件

2011-07-19 13:26:50

iPhone PhoneGap 框架

2011-07-05 17:29:53

PhoneGapevents

2011-12-14 11:38:42

PhoneGapJavaAndroid

2011-08-31 13:11:53

AndroidPhoneGap

2011-12-15 09:45:21

PhoneGap

2011-12-22 19:57:38

PhoneGap

2011-08-31 13:27:52

AndroidPhoneGap

2014-07-04 09:43:22

2012-03-07 15:07:54

PhoneGapAndroid源碼示例

2010-10-09 15:01:27

PhoneGapiPhoneAndroid

2012-05-17 08:29:54

PhoneGap誤區
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本公妇乱淫xxxⅹ 国产在线不卡 | 91精品国产高清一区二区三区 | 四虎影院新地址 | 在线播放一区二区三区 | 免费视频一区 | 国色天香综合网 | 毛片一级电影 | 欧洲一区在线观看 | 91精品国产色综合久久 | 色综合天天天天做夜夜夜夜做 | 国产精品日日做人人爱 | 国产日韩精品视频 | 精品一级 | 久优草 | 五月婷婷亚洲 | 国产精品不卡 | 成人国产免费视频 | 成年人黄色一级毛片 | 国产欧美视频一区 | 亚洲网视频 | 国产精品美女久久久久aⅴ国产馆 | 亚洲福利 | 91精品国产91久久久久久吃药 | 日本在线视频一区二区 | 国产一级在线 | 亚洲一区二区三区 | 日韩欧美中文 | 中文字幕男人的天堂 | 91精品国产91久久久久久 | 99久久精品国产一区二区三区 | 2023亚洲天堂 | 青青久久 | 国产精品久久久久久久7电影 | 久久久久国产精品 | 中文字幕在线观看视频一区 | 久久综合狠狠综合久久 | 日日干日日 | 亚洲在线一区 | 91久久精品国产 | 精品欧美一区二区在线观看视频 | 午夜精品一区二区三区在线 |