使用jQuery Mobile和Phone Gap开发Android应用程序

经过了一段时间的学习,初步了解了该如何使用jQuery Mobile和 Phone
Gap来开发一个Android应用程序,也想把这些东西介绍给大家。 
1、 软件准备 
要进行android
app的开发,当然需要准备Java, eclipse和安装Android SDK,这个部分网络上面很多方法,搜索“安装Android
SDK”即可找到很多答案,所以就不再这里浪费口水。 

2、 知识准备 
(1)了解jQuery
Mobile这个js框架,知道怎么组织一个简单的页面。 
官方网站:http://jquerymobile.com/(记得下载一个js库文件) 
(2)了解Phone
Gap,怎么利用Phone
Gap在后面的内容也有介绍。 
官方网站:http://phonegap.com/(同样记得下载相关文件) 
(3)能够使用jQuery进行开发。 

3、
组织工程目录 
(1)打开Eclipse,建立一个android应用工程,见下图 

 

(2)解压phonegap的压缩包,可以看到它针对不懂的应用类型进行了不同的分类,有android、IOS、Windows
Phone等移动终端系统,打开其中的android文件夹。 
(3)在刚才新建的工程的根目录下新建一个名为libs的文件夹,找到(1)中android文件夹中的jar包粘贴到刚才的libs文件夹下。 
(4)将(1)中android文件夹下的xml文件夹整个粘贴到工程更目录下的res文件夹下。 
(5)在工程的assets文件夹下新建文件夹www,这个文件夹其实可以看作是phonegap的工程目录,用来放js或者html文件。 
(6)在文件夹www下面新建一个js文件夹,用来放置js和css文件;新建文件夹pages用来放置html文件。(新建html和引入js库可以参照图操作) 
工程目录如下图: 

 

4 Conding 
(1)首先打开src下的Java类,修改继承类为DroidGap(如果找不到这个类,估计是忘记将PhoneGap的jar包加入工程的Libraries),并且修改代码,如下图 

 

(2)打开index.html文件,进行编辑,记得开头要用html5的doctype声明。我在里面加入两个简单的jQuery
Mobile的页面,并且调用了简单的Phone
Gap的API: 
http://docs.phonegap.com/en/1.3.0/phonegap_notification_notification.md.html#notification.vibrate 
代码如下:

Html代码  

  1. <!Doctype html>

  2. <html>

  3. <head>

  4. <title>Phone Gap Introduce</title>

  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

  6. <link rel="stylesheet" type="text/css" href="../JS/jquery.mobile-1.0rc1.min.css"/>

  7. <script type="text/javascript" src="../JS/jquery_1_6_4.js"></script>

  8. <script type="text/javascript" src="../JS/phonegap-1.2.0.js"></script>

  9. <script type="text/javascript" src="../JS/jquery.mobile-1.0rc1.js"></script>

  10. <script type="text/javascript">

  11. $(‘#PageOne‘).live(‘pageinit‘, function(event){
  12. var showTip = function(){

  13. navigator.notification.alert("this is a message from page one!", null, "Message", "Close");

  14. $(this).die("click");

  15. };
  16. var confirm = function(){

  17. navigator.notification.confirm(

  18. ‘You are the winner!‘,  // message

  19. null,                   // callback to invoke with index of button pressed

  20. ‘Game Over‘,            // title

  21. ‘Restart,Exit‘          // buttonLabels

  22. );

  23. $(this).die("click");

  24. };
  25. var redirectPage = function(){

  26. $.mobile.changePage("#PageTwo");

  27. $(this).die("click");

  28. };
  29. $(event.target).find(‘#alert‘).bind(‘click‘, showTip);

  30. $(event.target).find(‘#confirm‘).bind(‘click‘, confirm);

  31. $(event.target).find(‘#changePage‘).bind(‘click‘, redirectPage);

  32. });
  33. $(‘#PageTwo‘).live(‘pageshow‘, function(event){

  34. var showTip = function(){

  35. navigator.notification.alert("this is a message from page two!", null, "Message", "Close");

  36. $(this).die("click");

  37. };
  38. var confirm = function(){

  39. navigator.notification.confirm(

  40. ‘You are the losser!‘,  // message

  41. null,                   // callback to invoke with index of button pressed

  42. ‘Game Over‘,            // title

  43. ‘Restart,Exit‘          // buttonLabels

  44. );

  45. $(this).die("click");

  46. };

  47. $(event.target).find(‘#alert‘).bind(‘click‘, showTip);

  48. $(event.target).find(‘#confirm‘).bind(‘click‘, confirm);

  49. });

  50. </script>

  51. </head>

  52. <body>

  53. <div id="PageOne" data-role="page">

  54. <div data-role="header" data-backbtn="false">

  55. <h1>Phone Gap One</h1>

  56. </div>

  57. <div data-role="content">

  58. <div>

  59. <a href="#" id="alert" data-role="button" data-theme="b">Alert</a>

  60. </div>

  61. <div>

  62. <a href="#" id="confirm" data-role="button" data-theme="b">Confirm</a>

  63. </div>

  64. <div>

  65. <a href="#" id="changePage" data-role="button" data-theme="b">Change Page</a>

  66. </div>

  67. </div>

  68. <div data-role="footer">

  69. <div data-role="navbar">

  70. <ul>

  71. <li><a href="#PageOne">Page One</a></li>

  72. <li><a href="#PageTwo">Page Two</a></li>

  73. </ul>

  74. </div>

  75. </div>

  76. </div>

  77. <div id="PageTwo" data-role="page">

  78. <div data-role="header" data-backbtn="true">

  79. <h1>Phone Gap Two</h1>

  80. <a data-role="button" data-rel="back">Previous</a>

  81. </div>

  82. <div data-role="content">

  83. <div>

  84. <a href="#" id="alert" data-role="button" data-theme="b">Alert</a>

  85. </div>

  86. <div>

  87. <a href="#" id="confirm" data-role="button" data-theme="b">Confirm</a>

  88. </div>

  89. <div>

  90. <a href="file:///android_asset/www/Pages/pageThree.html" data-role="button" data-theme="b">Page Three</a>

  91. </div>

  92. </div>

  93. <div data-role="footer">

  94. <div data-role="navbar">

  95. <ul>

  96. <li><a href="#PageOne">Page One</a></li>

  97. <li><a href="#PageTwo">Page Two</a></li>

  98. </ul>

  99. </div>

  100. </div>

  101. </div>

  102. </body>

  103. </html>


要特别注意的是引入js库的顺序,参照下图: 

 
即:自己的包和phonegap的js包要放在中间,不然会出一些错误,我开发的时候是遇见过这种状况的,而且jQuery
Mobile的官方也是这么要求的。 

再打开pageThree.html,加入如下代码:

Html代码  

  1. <div id="PageThree" data-role="page">

  2. <div data-role="header" data-backbtn="true">

  3. <h1>Phone Gap Three</h1>

  4. <a data-role="button" data-rel="back">Previous</a>

  5. </div>

  6. <div data-role="content">

  7. <div>

  8. <a href="#" id="alert" data-role="button" data-theme="b">Alert</a>

  9. </div>

  10. <div>

  11. <a href="#" id="confirm" data-role="button" data-theme="b">Confirm</a>

  12. </div>

  13. </div>

  14. <div data-role="footer">

  15. <div data-role="navbar">

  16. <ul>

  17. <li><a href="#PageOne">Page One</a></li>

  18. <li><a href="#PageTwo">Page Two</a></li>

  19. </ul>

  20. </div>

  21. </div>

  22. </div>


选择工程,右键run as
> android application,你应该能够看到下图: 

 

到这里工程的开发已经完了,希望有兴趣的可以具体操作一遍,然后可以修修改改其中的一些东西,这样才能体会到这个开发过程是怎么一回事,光看和复制粘贴是很容易忘记怎么去开发的。 

在我进行了一段时间的开发之后,我认为phonegap的好处在于: 
(1)一个应用能够很容易就移植到其他的平台,不需要同样的逻辑写多种语言版本; 
(2)容易上手,学习了html5和js既可以进行开发; 
(3)如果学会了如何开发phonegap插件,那么android能够做的事情,phonegap都能够帮你完成,其他平台开发也如此。(如何开发插件已经不是这篇blog的内容了) 
同时我感觉phonegap让我最不爽的一点就是调试太麻烦了,要在模拟器上才能看到效果到底对不对。 

同时附上开发简易顺序: 
(1)把phonegap的jar包和xml文件放到工程下的正确目录; 
(2)修改src下的android默认类,参照4
(1); 
(3)在aseets下面建立工程的根目录www,并在其中放入js、html、image、css等普通的web文件; 
(4)只需要在index页面加入js包和css文件,其他页面只需要组织成一个简单的jQuery
Mobile页面。 
(5)调用一些特殊的api时,需要注意申请android许可!(百度一下就可以轻松解决) 

最后一个压缩包是工程压缩包。

  • Introduce.7z (595.5
    KB)

  • 描述: 工程压缩包

  • 下载次数: 1205

使用jQuery Mobile和Phone Gap开发Android应用程序

时间: 2024-12-28 01:06:16

使用jQuery Mobile和Phone Gap开发Android应用程序的相关文章

使用jQuery Mobile和Phone Gap开发Android应用程序(转)

经过了一段时间的学习,初步了解了该如何使用jQuery Mobile和 Phone Gap来开发一个Android应用程序,也想把这些东西介绍给大家. 1. 软件准备 要进行android app的开发,当然需要准备Java, eclipse和安装Android SDK,这个部分网络上面很多方法,搜索“安装Android SDK”即可找到很多答案,所以就不再这里浪费口水. 2. 知识准备 (1)了解jQuery Mobile这个js框架,知道怎么组织一个简单的页面. 官方网站:http://jq

史上最简单的个人移动APP开发入门--jQuery Mobile版跨平台APP开发

书是人类进步的阶梯. ——高尔基 习大大要求新新人类要有中国梦,鼓励大学生们一毕业就创业.那最好的创业途径是什么呢?就是APP.<构建跨平台APP-jQuery Mobile移动应用实战>就是一本写给没钱没身份没资历的创业小白看的APP书,看完这本书你可以拥有自己的一个APP,不用花钱就能移植到其他移动平台,支持iOS,Android,Windows Phone!!!!!!!!找个最便宜的来练手吧!  小白APP交流Q群:  348632872 清华大学出版社推出的<构建跨平台APP:j

开发Android应用程序来使用硬件访问服务

1.开发Android应用程序来使用硬件访问服务 ~/android-2.3_r1/packages/experimental/Freg ----AndroidManifest.java ----Android.mk ----src ----shy/luo/freg ----Freg.java ----res ----layout ----main.xml ----values ----string.xml ----drawable ----icon.png Freg.java package

用 Eclipse 开发 Android 应用程序

转自:http://www.apkbus.com/android-13828-1-1.html 开始之前 本教程介绍如何在 Eclipse 环境中进行 Android 应用程序开发,包括两个示例应用程序.第一个示例是一个基本的应用程序,涉及构建和调试的所有阶段.第二个应用程序示例涉及比较复杂的 Android 特性,包括联系人搜索和 Google Maps 地址查找.要想从本教程获得最大收益,具备移动开发经验会有帮助,但不是必需的.开发 Android 应用程序需要 Java? 编程技能,但是对

开发Android Map程序 如何获取 apikey (Google Map API v2)

1. 在Eclise --> preference --> android --> bulid 能够看到缺省的debug keystore:注意,最新版本的Android Eclipse中无需再自己产生MD5 和 SHA1 2. 登录Google网站账户后转到如下网址 https://console.developers.google.com/project/apps~soft-edu/apiui/api?authuser=0:在该页面中点击APIs然后将Google Maps Andr

Kotlin编程开发Android运用程序(Volley+Gson依赖库)

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Kotlin编程开发Android运用程序(Volley+Gson依赖库) - hexingen的博客 - 博客频道 - CSDN.NET hexingen的博客 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯]流畅的Pyth

C#使用Xamarin开发Android应用程序 -- 系列文章

Xamarin开发Android应用程序 利用Xamaria构建Android应用-公交发车信息屏 Xamarin版的C# SVG路径解析器 C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码 为 Xamarin.Forms 做个跑马灯控件 [Xamarin挖墙脚系列:现有IPhone/IPad 设备尺寸] [Xamarin挖墙脚系列:IOS-关于手机支持的屏幕方向] [Xamarin挖墙脚系列:Xamarin.IOS机制原理剖析] [Xamarin挖墙

在DW 5.5+PhoneGap+Jquery Mobile下搭建移动开发环境

移动设备应用开发有多难,只要学会HTML5+Javascript就可以.用Dreamweaver5.5+PhoneGap+Jquery Mobile搭建移动开发环境,轻轻松松开发你自己的应用.让你用普通的web技术编写出能够轻松调用API接口和进入应用商店的HTML5应用开发平台. 安装Dreamweaver5.5 这里要注意,Dreamweaver5.5的内部版本需要5344,也就是目前最新的版本.现在一般网上下载的都是5315,破解后可以用软件自带的更新到5344. 破解的方法如下: 用记事

jquery mobile自己定义webapp开发实例(一)——前言篇

用jquery mobile做了一段时间的webapp开发,准备用自己的一个小demo做一个模块化的分享 点击demo演示 手机演示二维码: 此demo已经是比較老的版本号,用户体验流畅度确实还存在非常大的问题,但在我写这一系列的webapp开发实例后,将会解决大部分问题 以下是以后准备写到的一些点: 1:谈谈关于jquery mobile 一些常见问题的解决.(常见问题的解决查看) 2:jquery mobile实现多页面跳转(不是官网上那样把所以的page在一个.html文件内,而是每一个p