当前位置: 编程技术>移动开发
本页文章导读:
▪判定系统版本 判定系统版本。double version = [[UIDevice currentDevice].systemVersion doubleValue];//判定系统版本。 ......
▪ 十月2场CMDN Club活动专题、视频、资源分享 10月2场CMDN Club活动专题、视频、资源分享本月的2场技术交流活动,相关资源分享。其实活动结束后的2天内,大部分资源都上线了(赞编辑部活动报道的速度),可是还是有很多朋友不知道。.........
▪ phonegap 中的储存 phonegap 中的存储phonegap 中与存储相关的对象有
Database 数据库对象
SQLTransaction 事物对象
SQLResultSet Sql结果对象
SQLResultSetList 查询返回数据集对象
SQLError Sql错误对象
localStorage 本地存储对象
Da.........
[1]判定系统版本
来源: 互联网 发布时间: 2014-02-18
判定系统版本。
double version = [[UIDevice currentDevice].systemVersion doubleValue];//判定系统版本。
[2] 十月2场CMDN Club活动专题、视频、资源分享
来源: 互联网 发布时间: 2014-02-18
10月2场CMDN Club活动专题、视频、资源分享
本月的2场技术交流活动,相关资源分享。其实活动结束后的2天内,大部分资源都上线了(赞编辑部活动报道的速度),可是还是有很多朋友不知道。所以我在这里再分享一下。
中秋国庆双节后,全新改版#CMDN Club#移动开发者俱乐部将连续奉上2场线下活动
从粉笔网多终端产品快速开发说开去——移动创业产品的架构和项目管理(10月10日)
专题:
http://subject.csdn.net/cmdn20/
视频:
粉笔网杨元祖:多终端的服务器架构
http://v.csdn.hudong.com/s/article.html?arcid=2810800
粉笔网郭常圳:粉笔网的Scrum项目管理实践
http://v.csdn.hudong.com/s/article.html?arcid=2810794
- Scrum游戏环节 小组上台总结
- 最佳创意组 站着挣钱
- 第一小组汇报“战绩"
- 游戏惩罚 8连拍
- 各小组Leader
- 现场座无虚席
- Scrum游戏环节 激情演讲
- 最长的战果
从程序员杂志iPad版开发说开去——移动客户端的外包项目管理(10月11日)
专题:
http://subject.csdn.net/cmdn21/
视频:
爱图腾黄之豪:从需求到交付——优化你的移动应用开发流程
http://v.csdn.hudong.com/s/article.html?arcid=2810803
CSDN李宁:从程序员杂志iPad版的外包项目管理说开去
http://v.csdn.hudong.com/s/article.html?arcid=2810802
- 讲师耐心讲解
- 游戏环节,美女观众分享故事
- 与会者发表个人观点
- 论坛环节
- 项目外包模拟游戏
- 一起吐槽,一起畅谈
- 小组讨论,群策群力
- 观众认真聆听
[3] phonegap 中的储存
来源: 互联网 发布时间: 2014-02-18
phonegap 中的存储
phonegap 中与存储相关的对象有
Database 数据库对象
SQLTransaction 事物对象
SQLResultSet Sql结果对象
SQLResultSetList 查询返回数据集对象
SQLError Sql错误对象
localStorage 本地存储对象
Database 数据库对象:
通过openDatabase方法获得该对象
例如:
window.openDatabase(database_name, database_version, database_displayname, database_size);
var dbOne = window.openDatabase("test1", "1.0", "Test DB", 1000000);
database_name:数据库名字,
database_version:数据库版本
database_displayname:显示名字
database_size:数据库大小
创建完成后便会在/data/data/包名/app_database/dbOne.db找到刚才创建的数据库文件,可以利用DDMS查看
SQLTransaction 事物对象
phonegap没有提供直接获取事物对象的方法,而是利用Database 对象transaction方法,将事物对象传递给一个回调
函数,例如
dbOne.transaction(createATable, errorCreateTable, successCreateTable);
createATable即是一个回调函数,会将事物对象以参数的形式传进去,createATable函数
createATable(trans){
}
这里的trans即是传递进的事物对象,有了事物对象就可利用事物对象的executeSql方法执行sql语句
例如
createATable(trans){
trans.executeSql('CREATE TABLE IF NOT EXISTS MyTab (id unique, data)');
tx.executeSql('INSERT INTO MyTab (id, data) VALUES (1, "First row")');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}
这样就利用数据库的事物对象创建了MyTab表并且插入了两条数据
SQLError 错误对象
SQLError对象也是以参数的形式传递给一个回调函数
在上面的方法
dbOne.transaction(createATable, errorCreateTable, successCreateTable);
errorCreateTable就是一个回调函数,如果dbOne.transaction函数执行失败,就会调用回调函数errorCreateTable
同时将SQLError对象传递进去
例如
function errorCreateTable(err)
{
alert("err code:"+err.code+"err message:"+err.message');
}
code和message为SQLError对象的两个属性
该对象是由事物对象的executeSql方法传递给回调函数,在回调函数中在对结构集对象操作,例如
tx.executeSql('SELECT * FROM MyTab', [], querySuccess, errorCB);
querySuccess即是成功执行后的回调函数,
function querySuccess(trans, results) {
alert("Returned rows = " + results.rows.length);
if (!resultSet.rowsAffected) {
alert('No rows affected!');
return false;
}
该函数接受两个参数:事物对象和结果集对象SQLResultSet,SQLResultSet包含三个属性
insertId 函数插入数据行的row ID
rowsAffected 改变的数据行的数量
rows:rows是一个SQLResultSetList 对象,该对象代表执行查询sql时返回的所有数据行
SQLResultSetList 查询返回的结果集对象
该对象包含一个属性 length(返回的数据行数量),一个方法item(该方法返回某个特定的数据行0
例
function querySuccess(trans, results) {
var len = results.rows.length;
console.log("MyTab table: " + len + " rows found.");
for (var i=0; i<len; i++){
console.log("Row = " + i + " ID = " + results.rows.item(i).id + " Data = " + results.rows.item(i).data);
}
}
phonegap 中与存储相关的对象有
Database 数据库对象
SQLTransaction 事物对象
SQLResultSet Sql结果对象
SQLResultSetList 查询返回数据集对象
SQLError Sql错误对象
localStorage 本地存储对象
Database 数据库对象:
通过openDatabase方法获得该对象
例如:
window.openDatabase(database_name, database_version, database_displayname, database_size);
var dbOne = window.openDatabase("test1", "1.0", "Test DB", 1000000);
database_name:数据库名字,
database_version:数据库版本
database_displayname:显示名字
database_size:数据库大小
创建完成后便会在/data/data/包名/app_database/dbOne.db找到刚才创建的数据库文件,可以利用DDMS查看
SQLTransaction 事物对象
phonegap没有提供直接获取事物对象的方法,而是利用Database 对象transaction方法,将事物对象传递给一个回调
函数,例如
dbOne.transaction(createATable, errorCreateTable, successCreateTable);
createATable即是一个回调函数,会将事物对象以参数的形式传进去,createATable函数
createATable(trans){
}
这里的trans即是传递进的事物对象,有了事物对象就可利用事物对象的executeSql方法执行sql语句
例如
createATable(trans){
trans.executeSql('CREATE TABLE IF NOT EXISTS MyTab (id unique, data)');
tx.executeSql('INSERT INTO MyTab (id, data) VALUES (1, "First row")');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}
这样就利用数据库的事物对象创建了MyTab表并且插入了两条数据
SQLError 错误对象
SQLError对象也是以参数的形式传递给一个回调函数
在上面的方法
dbOne.transaction(createATable, errorCreateTable, successCreateTable);
errorCreateTable就是一个回调函数,如果dbOne.transaction函数执行失败,就会调用回调函数errorCreateTable
同时将SQLError对象传递进去
例如
function errorCreateTable(err)
{
alert("err code:"+err.code+"err message:"+err.message');
}
code和message为SQLError对象的两个属性
SQLResultSet对象
该对象是由事物对象的executeSql方法传递给回调函数,在回调函数中在对结构集对象操作,例如
tx.executeSql('SELECT * FROM MyTab', [], querySuccess, errorCB);
querySuccess即是成功执行后的回调函数,
function querySuccess(trans, results) {
alert("Returned rows = " + results.rows.length);
if (!resultSet.rowsAffected) {
alert('No rows affected!');
return false;
}
该函数接受两个参数:事物对象和结果集对象SQLResultSet,SQLResultSet包含三个属性
insertId 函数插入数据行的row ID
rowsAffected 改变的数据行的数量
rows:rows是一个SQLResultSetList 对象,该对象代表执行查询sql时返回的所有数据行
SQLResultSetList 查询返回的结果集对象
该对象包含一个属性 length(返回的数据行数量),一个方法item(该方法返回某个特定的数据行0
例
function querySuccess(trans, results) {
var len = results.rows.length;
console.log("MyTab table: " + len + " rows found.");
for (var i=0; i<len; i++){
console.log("Row = " + i + " ID = " + results.rows.item(i).id + " Data = " + results.rows.item(i).data);
}
}
localStorage本地存储对象
该对象和手机设备上的存储没有关系,而是和html5中的本地存储提供的一个接口
一个完整的例子
html部分
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> new document </title> </head> <body> <button onclick="pgapStorage()">pgapStorage</button> </body> <script type="text/javascript" src="/blog_article/cordova-2.1.0.js"></script> <script type="text/javascript" src="/blog_article/pgapstorage.js"></script> </html>
js部分
function pgapStorage(){ //创建或者打开数据库,大小100000 bytes var dbOne = window.openDatabase("myDataBase","1.0","phonegapdatabase",100000); //将事物对象SQLTransaction传给createATable函数,如果发生错误将SQLError对象传给errorCreateTable函数 dbOne.transaction(createATable, errorCreateTableTrans, successCreateTableTrans); } //执行回调函数createATable,创建表MyTab并且插入数据 function createATable(trans){ trans.executeSql('DROP TABLE IF EXISTS MyTab'); trans.executeSql('CREATE TABLE IF NOT EXISTS MyTab (id unique, data)'); trans.executeSql('INSERT INTO MyTab (id, data) VALUES (1, "First row")'); trans.executeSql('INSERT INTO MyTab (id, data) VALUES (2, "Second row")'); } //dbOne.transaction()执行失败后执行,并传递SQLError对象 function errorCreateTableTrans(err){ alert("err code:"+err.code+"err message:"+err.message); } //dbOne.transaction()执行成功后会执行 function successCreateTableTrans(){ alert("successfully"); var dbOne = window.openDatabase("myDataBase","1.0","phonegapdatabase",100000); //创建新的事物对象,并传递给回调函数 dbOne.transaction(queryMyTab,successQueryMyTabTrans,errorQueryMyTabTrans); } function successQueryMyTabTrans(){ alert("successQueryMyTabTrans"); } function errorQueryMyTabTrans(){ alert("err code:"+err.code+"err message:"+err.message); } //查询 function queryMyTab(trans){ //查询成功后执行successQueryMyTab回调函数,失败执行errorQueryMyTab函数 trans.executeSql('SELECT * FROM MyTab', [], successQueryMyTab, errorQueryMyTab); } //executeSql执行成功后执行,并将SQLTransaction、SQLResultSet两个对象传递给函数 successQueryMyTab function successQueryMyTab(trans,results){ var len = results.rows.length; alert(len); //利用弹出框显示查询的结果 for (var i=0; i<len; i++){ alert("Row = " + i + " ID = " + results.rows.item(i).id + " Data = " + results.rows.item(i).data); } } //executeSql()执行失败后执行 function errorQueryMyTab(err){ alert("err code:"+err.code+"err message:"+err.message); }
最新技术文章: