什么是PhoneGap,其实就是在手机中可以写html代码的插件,下面一段话来源网摘“PhoneGap是一个开放源代码的,跨平台的构建移动应用程序的框架。在PhoneGap中,完全通过HTML,CSS和JavaScript构建应用程序,但是它们却可以像本地程序一样使用iPhone 、iPad,Android,blackberry,Symbian,Palm等硬件功能。PhoneGap的目标就是通过标准的Web方式(如HTML,CSS和JavaScript的)调用设备的原生功能,这样开发人员可以专注于他们正在构建的应用程序,而不是为复杂的平台兼容性层编码。”

转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/7832852

自从上次参加ios/android训练营,当时凡客移动应用的专家讲的是Android+HTML5的技术应用,他们凡客用的是android的webview来展示网页的效果,其他和本地相互调用,相当于中间部分用webView来展示,这样就实现了动态,只要服务器的数据更新,手机端的数据相应的跟着更新,这是有的电商app采取的策略,先来看一下凡客诚品的构架图:

上面用的是android控件,一个logo,一个搜索功能,底部是一排按钮,有首页,分类,购物车,我的凡客,更多,这些按钮,前面几个按钮都是加载uri,加载相应的网页,通过javascript,webview来实现网页和本地间的交互。当加载网页的时候,还没有完全加载上来的时候,凡客用一个滚动的对话框来处理的,一直在转圈圈。呵呵,这个有时候效果有点差,转的时间稍微有点长。我用wifi连网,链接新的网页有的大约需要30秒,我测试几个新的网页,在15秒到30秒之间,这个和网页内容的长短有关。看来用webview还得做一些特殊的处理,个人感觉用户体验欠缺。但是加载上来以后,滚动效果做的还是不错的。

PhoneGap就是在手机端写入html和js语言,让手机的支持自己的html,这样不依赖网络,本地浏览html网页,但是有个缺点,就是工程师对html和js掌握的要多,而android相对来说不这么重要,无论是ios,andoid,黑莓,只要熟练掌握html和js就可以在手机上开发应用了,而且跨平台性太强悍了,相对于现在的手机来说,内存,cpu,都已经不是问题,对这些语言的解析支持的程度已经大大提高了,android4.0的手机带来了手机高配的行情。

下面来看看我自己搭建的简单的PhoneGap的Demo:

Step 1:下载PhoneGap的插件,如图:

Step 2:新建项目后,在工程中加入两个文件lib和assets/www,对应的目录为:

Step 3:在AndroidManifest.xml中加入相应的权限:

 <supports-screensandroid:anyDensity="true"android:largeScreens="true"android:normalScreens="true"android:resizeable="true"android:smallScreens="true" /><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.READ_PHONE_STATE" /><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.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" />

Step 4:修改HelloPhoneGapActivity.java这个入口类,修改为---->

package com.cn.daming.phonegap;import com.phonegap.DroidGap;import android.os.Bundle;public class HelloPhoneGapActivity extends DroidGap {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
//        setContentView(R.layout.main);super.loadUrl("file:///android_asset/www/index.html");}
}

Step 5:在新加的assets/www目录下加入新的index.html文件,内容如下:

<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr">
<head>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>PhoneGap</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
</head>
<body>
<h1>Hello World</h1>
<html>
This is daming`s blog ---> 下面是我的csdn博客,欢迎大家访问:
<br>
<a href="http://blog.csdn.net/wdaming1986?viewmode=contents"><font color="red">http://blog.csdn.net/wdaming1986?viewmode=contents
</font></a>
<br>
</html>
</body>
</html>

Step 6:运行项目,效果图如下:

我导入了以前我做的一个网站的一个页面,效果图如下,看来对html和css的支持还是不错的,

点击红色的链接效果图如下:

好了,今天就啰嗦到这里,以后有时间继续研究Html5和PhoneGap相应的知识,有了解深入的朋友可以留言讨论!!!PhoneGap官网:www.phonegap.cn;

PhoneGap对比html5写android应用程序【android进化三十八】相关推荐

  1. Android开发笔记(一百三十八)文本输入布局TextInputLayout

    文本输入布局TextInputLayout TextInputLayout是MaterialDesign库中对编辑框EditText进行增强的一个控件.众所周知,EditText未输入字符时,我们可以 ...

  2. 斗争程序猿(三十八)——历史朝代大学(两)——我与数据库的故事

    文/温国兵 惰性人皆有之,也算是人的一大天性.几日之前便构思好此文,怎奈每日杂事繁多,今日才提起笔,作下此文.本文谈谈我与数据库的故事. 说起和数据库结缘,还得从大一说起.大一刚開始接触C语言,每日就 ...

  3. Android项目实战(三十八):2017最新 将AndroidLibrary提交到JCenter仓库(图文教程)...

    Android项目实战(三十八):2017最新 将AndroidLibrary提交到JCenter仓库(图文教程) 原文:Android项目实战(三十八):2017最新 将AndroidLibrary ...

  4. Android中SlidingDrawer介绍【安卓进化三十四】

    Android中SlidingDrawer介绍[安卓进化三十四] 安卓中1.5后加入了SlidingDrawer[隐藏式抽屉],设计原理在你的UI布局有限的情况下,放不下太多的控件的时候,可以考虑用这 ...

  5. 基于eclipse的android项目实战—博学谷(十八)播放不同视频(网络视频)

    相信经过了这么长时间,小伙伴们应该都发现了博学谷这个项目存在问题,播放视频的时候,无论播放任何一个章节,他播放的视频都只是一个,也就是VideoPlayActivity.java里面写死的那个(myv ...

  6. Android开发笔记(一百三十六)可折叠工具栏布局CollapsingToolbarLayout

    可折叠工具栏布局CollapsingToolbarLayout 上一篇博文< Android开发笔记(一百三十五)应用栏布局AppBarLayout>阐述了如何把Toolbar往上滚动,那 ...

  7. Android开发笔记(一百三十五)应用栏布局AppBarLayout

    应用栏布局AppBarLayout Android5.0推出工具栏Toolbar用来替代ActionBar,灵活性和易用性大大增强,有关Toolbar的详细介绍参见< Android开发笔记(一 ...

  8. Android开发笔记(一百三十)截图和录屏

    屏幕捕捉 Android5.0之后开放了屏幕捕捉的API,因此开发者便可以直接通过代码进行截图与录屏,而无需操作系统底层了.屏幕捕捉的功能由MediaProjectionManager媒体投影管理器实 ...

  9. Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自动填入功能结合实例)

    用户注册或者找回密码时一般会用到短信验证功能,这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注册用户.获取SDK 大家可以 ...

最新文章

  1. python处理excel教程实例-python 读写excel文件操作示例【附源码下载】
  2. IIS7下 301重定向 添加WWW
  3. Linux I/O模型
  4. SDUT - 2609 A-Number and B-Number(二分+数位dp)
  5. workflow and email in QD3 - IS_INBOX_USER method
  6. Linux的shell编写
  7. TypeScript Never 与 Unknown
  8. (70)Verilog HDL测试激励:复位激励2
  9. jquery可见性过滤选择器:hidden、:visible
  10. ADM2587E外围电路设计
  11. Unity 中英文互译插件
  12. 级联选择器实现省市区三级联动
  13. PAKE: Password-authenticated key agreement
  14. c语言程序设计基础程序改错,c语言程序设计改错信息.docx
  15. 用python画 pareto front
  16. 复合效应 达伦哈迪_帕特里克·麦克哈迪(Patrick McHardy)和版权暴利
  17. 气结、气闭、气郁......百病生于气!
  18. java蓝桥杯——矩形面积交
  19. 520爱心表白——C语言入门
  20. 硬件(磁盘):机械硬盘内部硬件结构和工作原理详解

热门文章

  1. sed修炼系列(三):sed高级应用之实现窗口滑动技术
  2. 利用大数据构建智能交通
  3. 检查Prefab或场景物件是否丢失脚本
  4. DiskFileItemFactory类的使用
  5. 【Unity】第5章 3D坐标系和天空盒
  6. java来做Web Service,用哪个框架最好?
  7. UMeditor上传图片无反应
  8. Glomosim安装和ParseC的使用等相关链接
  9. 使用 ale.js 制作一个小而美的表格编辑器(4)
  10. 虚拟机开启Linux时出现“我以复制虚拟机”、“我已移动虚拟机”