基于第一个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 开发工具收集
Apr 17 HTML / CSS
css3绘制天猫logo实现代码
Nov 06 HTML / CSS
CSS3打造磨砂玻璃背景效果
Sep 28 HTML / CSS
CSS3实现多背景模拟动态边框的效果
Nov 08 HTML / CSS
用CSS3实现瀑布流布局的示例代码
Nov 10 HTML / CSS
css3实现六边形边框的实例代码
May 24 HTML / CSS
HTML5的标签的代码的简单介绍 HTML5标签的简介
May 28 HTML / CSS
通过canvas转换颜色为RGBA格式及性能问题的解决
Nov 22 HTML / CSS
解决html5中的video标签ios系统中无法播放使用的问题
Aug 10 HTML / CSS
浅析HTML5 meta viewport参数
Oct 28 HTML / CSS
css3中transform属性实现的4种功能
Aug 07 HTML / CSS
CSS实现渐变色边框(Gradient borders)的5种方法
Mar 25 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
php下使用无限生命期Session的方法
2007/03/16 PHP
在PHP中使用模板的方法
2008/05/24 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
php json转换成数组形式代码分享
2014/11/10 PHP
jquery cookie插件代码类
2009/05/26 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
JavaScript中使用concat()方法拼接字符串的教程
2015/06/06 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
angularjs学习笔记之简单介绍
2015/09/26 Javascript
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
浅析为什么a=&quot;abc&quot; 不等于 a=new String(&quot;abc&quot;)
2017/10/25 Javascript
JS设计模式之访问者模式定义与用法分析
2018/02/05 Javascript
JS实现键值对遍历json数组功能示例
2018/05/30 Javascript
Vue框架里使用Swiper的方法示例
2018/09/20 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
跟老齐学Python之for循环语句
2014/10/02 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
Python实现Linux监控的方法
2019/05/16 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
pytorch使用 to 进行类型转换方式
2020/01/08 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
企业申诉管理制度
2014/01/30 职场文书
最新奶茶店创业计划书范文
2014/02/08 职场文书
关于安全演讲稿
2014/05/09 职场文书
助人为乐好少年事迹材料
2014/08/18 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
2016年第16个全民国防教育日宣传活动总结
2016/04/05 职场文书
团组织关系介绍信
2019/06/24 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server