我们的框架包含了几种设备事件的处理,目的是为了让我们的程序员更容易的完成代码.这些事件包括:回退键(Android)和横竖屏切换事件. 7.1 Android回退键 首先来说说回退键的事件处理.当用户在Android设备上按下回退键时,用户可能会希望: l  应用程序能返回到上一页: l  取消正在执行的任务,比如正在下载或是提交数据: l  移除提示消息: l  或者更多. 我们的框架正好解决了这些问题,让自定义的回退键事件变得异常简单.这是那些基于URL实现页面跳转的框架所望尘莫及的,比如基…
我一直想把EntityFramework(简称EF)的那一套搬过来,应用于HTML5 SQLite. 幸运的是,我几乎做到了,有些功能无法完成的那是因为SQLite本身不支持.至少从现在已经完成的功能来看,我们几乎可以像EF那样去操作数据库. 在我们这个框架中,所有对数据库的访问都封装在了命名空间"nova.data"下面.其下主要包括了以下类: nova.data.DbContext nova.data.Entity nova.data.Repository nova.data.Qu…
在我们的框架中引入了一个很重要的设计,那就是使用Mock. 这里的mock是指cordova.mock.js文件,它模拟了PhoneGap(Cordova)的API,从而可以在浏览器中运行测试我们的程序,即使我们的程序使用到了联系人.摄像头.设备按键等API. 由于写一个PhoneGap API的mock方法非常容易,我们现在的框架中只包含了少部分的mock,比如deviceready, backbutton, menubutton, 联系人,摄像头等.如果你要调用的PhoneGap API还没…
页面在项目架构中是一个很重要的概念,它让我们能够将一个功能复杂的项目拆分成一个一个功能比较独立的小区域,这极大的提高了代码的可读性和可维护性. 在我们这个框架中,一个页面由JS和HTML两部分组成,首先让我们来看看JS部分吧. 以上的这部分代码就是一个在命名空间“at.pages”下的“Details”页面的定义.你可能已经注意到了,在第2行代码,有一个“pages/details.html”.对,就是这样,HTML文件的相对路径在这个页面的构造函数中进行了指定.这样,这个页面的JS部分和HTM…
一个好的项目架构必然有着合理的文件结构,如果一个项目的文件组织混乱,那么可以断言一定是项目架构有问题. 合理的文件结构能够帮你更清晰的管理你的文件,并且当需要添加新的文件的时候,你的程序员很清楚应该加到哪里.总的来讲,我认为好的文件结构应该满足以下3条标准: 每一个文件夹下面不应该有太多的文件,通常不超过30个: 每一个文件里面的代码不应该超过300行,不管是HTML.CSS还是JS文件: 所有的文件应该有层次感,属于同一层的文件应该放到一起. 前面2条标准看上去非常简单,实际情况呢?确实很简单…
Nova PhoneGap Framework诞生于2012年11月,从第一个版本的发布到现在,这个框架经历了多个项目的考验.一直以来我们也持续更新这个框架,使其不断完善.到现在,这个框架已比较稳定了,对于中小型项目可以直接拿来用,对于大型项目,也只需稍加改造就能够完美支持. 目前该框架实现的核心功能如下: 帮你合理的组织文件结构: 页面跳转.传值以及事件,如load, navigate, away等: 合理绑定设备事件,使用起来更容易: 本地数据库(SQLite)访问: 滚动条. 其他插件,如…
你可能会疑惑为什么滚动条这么常见的功能会在这里单独列出,但如果你有过PhoneGap开发经验的话,你就会发现要在Android 2.3 里面实现滚动条那真不是一件容易的事. 8.1 概述 目前主流的PhoneGap框架或者库都花了很大的力气来实现滚动条,比如jQueryMobile, Sencha Touch,KendoUI,Intel App Framework (以前叫jqMobi),甚至还有一个专门只做滚动条而变得很出名的iScroll. 出现滚动条百家争鸣的原因是,低版本的Android…
Nova PhoneGap Framework 是完全针对PhoneGap应用程序量身定做的,在这个框架下开发的应用程序很容易实现高质量的代码,很容易让程序拥有很好的性能和用户体验. 在经历了多个项目的考验和改进后,我们这个框架已日趋成熟.希望有更多的朋友使用我们这个框架进行PhoneGap程序的开发,让这个框架变得更加完善. 参考资料: 框架源码:http://cordova.codeplex.com 官方博客:http://apachecordova.blogspot.com…
跟绝大多数PhoneGap程序一样,Index.html是程序的入口.这个页面应该完成应用程序的初始化工作. 首先,让我们来看看这个页面通常都长什么样子: 下面我将一一解释这个页面都做了哪些初始化工作. 2.1 引用所有的CSS 所有的CSS都应该在放在index.html里面,这样做的好处是其他页面会变得很干净,不会到处都在引用CSS,使得CSS更容易管理. 你可以使用SASS来编写CSS,但最后请一定把所有的CSS合并到一个文件.在我的试验中,当index.html引用了太多CSS和JS的时…
我们的框架中也提供了一些常用的控件,这些控件大多都依赖于我们的框架,也正是在我们的框架下才使得实现这些控件的变得更简单.但是我们的框架是不依赖与这些控件的,如果你用不上这些控件,你完全可以把相关的代码删掉. 一些简单的控件,如listview,button等并没有包含在我们的框架中,这是因为这些控件是在是太简单,你更应该针对你的项目,用最简单的HTML和CSS去实现. 下面我将详细介绍最常用的几款控件,这些控件的功能都是显而易见的,为了节省篇幅,我就不贴截图了.注意在我们控件的命名上遵循这样一个…