最近在学习phoneGap,记录下搭建环境,方便以后查看。phoneGap现在版本比较多。在环境方便2.0是一个界限,2.0之前的版本很简单。下载安装包图像界面安装即可,2.0之后的版本采用命令行形式安装,其实过程更简单,下面就两种环境我做一个介绍
安装前准备,Xcode安装好(我这里安装的是4.6,其他版本没试过。不过貌似4+的话都差不多),phoneGap下载地址http://phonegap.com/download/#
下载好phoneGap插件,这里提供一个phoneGap1.9版本,一个phoneGap2.3版本作为介绍,其他版本可以到官网上去直接下载
一、phoneGap1.9+xcode安装
1、下载phoneGap1.9:解压文件夹,进入/lib/ios/Cordova-1.9.0.dmg,效果如下
2、内容介绍:该页面中,第一个是安装,后面几个是一些文档介绍和说明,最后面是卸载插件页面如下
3、安装:点击Cordova-1.9.0.pkg 进入安装页面,在安装页面一步步点击直至安装结束
4、查看是否安装成功:安装完成之后打开xcode新建项目,项目类型选择中如果出现下面这个,则表示安装成功
5、卸载:如果此时需要卸载phoneGap插件,其实很简单,只要点击卸载按钮即可
二、phoneGap2.3+xcode安装
1、解压文件:解压phoneGap2.3.0文件,打开文件夹进入下面目录/lib/ios/bin,页面如下:
2、终端命令进入bin目录:如果你对linux指令不太熟悉的话,建议把phoneGap2.3.0解压缩文件放在桌面,这样下面的指令就可以直接使用,首先在桌面建立一个空文件夹,用于存放生成的项目文件,然后打开终端,按照图示敲入指令进入bin目录,上图目录
3、执行命令生成项目:执行下面命令生成项目,生成的项目即为phoneGap2.3.0版本
命令说明如下 ./create 你刚建立的文件夹路径 项目的命名空间 项目的名称4、运行项目:命令执行之后,打开phoneGap文件夹可以看到下面内容
这样整个项目搭建过程就完成。
Session接口
Session接口对于Hibernate 开发人员来说是一个最重要的接口。然而在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会占用很多资源。这在实际项目中确实很重要,因为在客户程序中,可能会不断地创建以及销毁Session对象,如果Session的开销太大,会给系统带来不良影响。但值得注意的是 Session对象是非线程安全的,因此在你的设计中,最好是一个线程只创建一个Session对象。
在Hibernate的设计者的头脑中,他们将session看作介于数据连接与事务管理一种中间接口。我们可以将session想象成一个持久对象的缓冲区,Hibernate能检测到这些持久对象的改变,并及时刷新数据库。我们有时也称Session是一个持久层管理器,因为它包含这一些持久层相关的操作,诸如存储持久对象至数据库,以及从数据库从获得它们。请注意,Hibernate 的session不同于JSP应用中的HttpSession。当我们使用session这个术语时,我们指的是Hibernate中的session,而我们以后会将HttpSesion对象称为用户session。
SessionFactory 接口
这里用到了一个设计模式――工厂模式,用户程序从工厂类SessionFactory中取得Session的实例。
令你感到奇怪的是SessionFactory并不是轻量级的!实际上它的设计者的意图是让它能在整个应用中共享。典型地来说,一个项目通常只需要一个SessionFactory就够了,但是当你的项目要操作多个数据库时,那你必须为每个数据库指定一个SessionFactory。
SessionFactory在Hibernate中实际起到了一个缓冲区的作用,它缓冲了Hibernate自动生成的SQL语句和一些其它的映射数据,还缓冲了一些将来有可能重复利用的数据。
Configuration 接口
Configuration接口的作用是对Hibernate进行配置,以及对它进行启动。在Hibernate的启动过程中,Configuration类的实例首先定位映射文档的位置,读取这些配置,然后创建一个SessionFactory对象。
虽然Configuration接口在整个Hibernate项目中只扮演着一个很小的角色,但它是启动hibernate时你所遇到的每一个对象。
Transaction 接口
Transaction接口是一个可选的API,你可以选择不使用这个接口,取而代之的是Hibernate的设计者自己写的底层事务处理代码。 Transaction接口是对实际事务实现的一个抽象,这些实现包括JDBC的事务、JTA中的UserTransaction、甚至可以是CORBA 事务。之所以这样设计是能让开发者能够使用一个统一事务的操作界面,使得自己的项目可以在不同的环境和容器之间方便地移值。
Query和Criteria接口
Query接口让你方便地对数据库及持久对象进行查询,它可以有两种表达方式:HQL语言或本地数据库的SQL语句。Query经常被用来绑定查询参数、限制查询记录数量,并最终执行查询操作。
Criteria接口与Query接口非常类似,它允许你创建并执行面向对象的标准化查询。
值得注意的是Query接口也是轻量级的,它不能在Session之外使用。
Callback 接口
当一些有用的事件发生时――例如持久对象的载入、存储、删除时,Callback接口会通知Hibernate去接收一个通知消息。一般而言,Callback接口在用户程序中并不是必须的,但你要在你的项目中创建审计日志时,你可能会用到它。
有时候,知道initWithFrame方法如何用,但是么有弄明白initWithFrame方法到底是什么? 那就通过查资料弄明白。
- (id)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];// 先调用父类的initWithFrame方法
if (self) {
// 再自定义该类(UIView子类)的初始化操作。
_scrollView = [[UIScrollView alloc] initWithFrame:self.bounds];
[_scrollView setFrame:CGRectMake(0, 0, 320, 480)];
_scrollView.contentSize = CGSizeMake(320*3, 480);
[self addSubview:_scrollView];
}
return self;
}
对于应用程序,资源是一种数据文件,伴随可程序执行程序的一种数据文件。(可以理解为可执行程序的,一种不可缺少的组陈部分)。
资源文件,是一种可移动的,由适合的工具编写的一种特殊的代码。
如:plish文件,txt文件,图像,视频等文件。都可以被xCode识别和引用。
一个应用程序可以包含多种形式的资源文件。
当然,nib文件也不例外,仅仅是一种资源文件。
通过Interface Builder 方式,可以创建nib文件,存储应用程序的UI对象。供应用程序来读取。