基于第一个PhoneGap(cordova)的应用详解


Posted in HTML / CSS onMay 03, 2013

PhoneGap是一套能让你使用HTML5轻松调用本地API接口和发布应用到商店的应用开发平台。官方说有低成本,低开发周期,轻量化等优点,这些咱暂时也没法证明,略过不表。但是有一条跨平台,却是很明显的优势。因为它采用HTML5+JavaScript的模式来开发应用。PhoneGap用JavaScript统一封装了几大平台的本地api(Andriod,IOS,WP8/7,WINRT)等等。。这样的话从一个平台移植到另外一个平台只需要把HTML代码跟JS原封不动的拿过去,打包一下就可以了。PhoneGap后来被Adobe收购,然后又贡献给了开源社区,现在由Apache管理,改名cordova。

为了给昨天的html5画图板移植到移动设备上,我决定采用phoneGap平台,这样只要编写一边就可以多出运行了。

今天先在Andriod下架设phoneGap环境。

1.下载phoneGap

http://phonegap.com/download/#autodownload

解压出来,找到lib/android目录。

2.在eclipse下新建Andriod项目,这个跟普通项目一样。

3.在assets目录下新建文件夹“www”

把lib/android目录下的cordova-2.6.0.js复制到这个目录下。把cordova-2.6.0.jar复制到libs目录下。

基于第一个PhoneGap(cordova)的应用详解

4.在www目录下新建一个html文件index.html。我们的界面就要在这里建立了。

基于第一个PhoneGap(cordova)的应用详解

index的代码如下:

复制代码
代码如下:

<!doctype html>
<html>
<head>
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<title>HTML5Paint</title>
<script type="text/javascript" src="cordova-2.6.0.js" charset="utf-8"></script>
<script type="text/javascript">
alert("HELLO CORDOVA");
</script></p> <p></head>
<body></p> <p><h1>HTML5Paint</h1>
</body>
</html>

5.把lib/android目录下的xml文件夹整个复制到res面目下

基于第一个PhoneGap(cordova)的应用详解

6.修改AndroidManifest.xml添加用户权限

在<manifest >标签的内的最前部添加如下代码

复制代码
代码如下:

<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/></p> <p> <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />

7.修改MainAcivity.java

复制代码
代码如下:

public class MainActivity extends DroidGap {</p> <p> @Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
}</p> <p>}

8.build一下会有错误,这是因为前面的cordova-2.6.0.jar没有添加到buildpath里面去。添加buildpath。

基于第一个PhoneGap(cordova)的应用详解

继续build就过了。

最后run一下:

 

基于第一个PhoneGap(cordova)的应用详解基于第一个PhoneGap(cordova)的应用详解

这样一个phonegap的Andriod程序就搞定了。明天把昨天的那个HTML5画板移植过来。

HTML / CSS 相关文章推荐
css3的transform造成z-index无效解决方案
Dec 04 HTML / CSS
CSS3近阶段篇之酷炫的3D旋转透视
Apr 28 HTML / CSS
图解CSS3制作圆环形进度条的实例教程
May 26 HTML / CSS
HTML+CSS3模拟心的跳动实例代码
Sep 05 HTML / CSS
详解css position 5种不同的值的用法
Jul 30 HTML / CSS
解析HTML5的存储功能和web SQL的相关操作方法
Feb 19 HTML / CSS
HTML5 canvas基本绘图之绘制曲线
Jun 27 HTML / CSS
使用phonegap克隆和删除联系人的实现方法
Mar 31 HTML / CSS
html如何对span设置宽度
Oct 30 HTML / CSS
html5手机键盘弹出收起的处理
Jan 20 HTML / CSS
详解如何获取localStorage最大存储大小的方法
May 21 HTML / CSS
HTML CSS 一个标签实现带动画的抖音LOGO
Apr 26 HTML / CSS
HTML5 离线应用之打造零请求、无流量网站的解决方法
Apr 25 #HTML / CSS
HTML5 本地存储之如果没有数据库究竟会怎样
Apr 25 #HTML / CSS
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
Apr 25 #HTML / CSS
基于HTML5 FileSystem API的使用介绍
Apr 24 #HTML / CSS
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
Apr 24 #HTML / CSS
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
Apr 24 #HTML / CSS
HTML5 Web Workers之网站也能多线程的实现
Apr 24 #HTML / CSS
You might like
DOTA2 探索永无止境 玩家自创强悍插眼攻略
2020/04/20 DOTA
杏林同学录(二)
2006/10/09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
php实现excel中rank函数功能的方法
2015/01/20 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
Yii2下点击验证码的切换实例代码
2017/03/14 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
重命名批处理python脚本
2013/04/05 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
TensorFlow实现创建分类器
2018/02/06 Python
Python 字符串换行的多种方式
2018/09/06 Python
基于python实现高速视频传输程序
2019/05/05 Python
pycharm访问mysql数据库的方法步骤
2019/06/18 Python
python and or用法详解
2019/06/26 Python
python使用递归的方式建立二叉树
2019/07/03 Python
django配置app中的静态文件步骤
2020/03/27 Python
什么是python的必选参数
2020/06/21 Python
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
护理专业毕业生自我鉴定
2013/10/08 职场文书
人力资源主管岗位职责
2014/01/29 职场文书
幼儿园教学管理制度
2014/02/04 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
排球赛新闻稿
2015/07/17 职场文书
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang