cordova入门

2017/08/05 19:20
阅读数 46

cordova入门到放弃?

安装androidsdk

设置JAVA_HOME环境变量,指定为JDK安装路径
设置ANDROID_HOME环境变量,指定为Android SDK安装路径
同时也建议你添加Android SDK的tools和platform-tools目录到你的PATH

~/.bash_profile

export ANDROID_HOME=/Development/android-sdk/export PATH=${PATH}:/Development/android-sdk/platform-tools:/Development/android-sdk/tools
//运行$ source ~/.bash_profile

安装cordova

sudo npm install -g cordova

创建app项目

cordova create hello com.example.hello HelloWorld

添加平台

cordova platform add android --save

编译app

cordova build

部署虚拟机内的app(adb先链接虚拟机或者手机)

cordova emulate android
cordova run android

添加插件

cordova plugin search camera

换图标  config.xml

用尖括号包裹
icon src="res/ios/icon.png" platform="ios" width="57" height="57" density="mdpi"

储存数据(js向)

LocalStorage

ar storage = window.localStorage;var value = storage.getItem(key); // 传递键的名字获取对应的值。storage.setItem(key, value) // 传递键的名字和对应的值去添加或者更新这个键值对。storage.removeItem(key) // 传递键的名字去从LocalStorage里删除这个键值对。

WebSQL

var db = window.openDatabase(name, version, displayName, estimatedSize);
  • name (string): 数据库的唯一名称,会被存在磁盘当中。

  • version (string): 数据库的版本。

  • displayName (string): 数据库的让人容易懂的名字,会被系统用来向用户描述这个数据库。

  • estimatedSize (number): 数据库的预期最大容量,字节为单位。当数据库容量增长的时候,可能会提示用户获取授权。如果你设置了一个合理的容量,以后的提示就会比较少。

IndexedDB

var db;var databaseName = 'myDB';var databaseVersion = 1;var openRequest = window.indexedDB.open(databaseName, databaseVersion);
openRequest.onerror = function (event) {console.log(openRequest.errorCode);
};
openRequest.onsuccess = function (event) {// 数据库已经打开并初始化 - 我们进行的不错,可以继续了.db = openRequest.result;
displayData();
};
openRequest.onupgradeneeded = function (event) {// 一个新的数据库,或者一个新的版本号被传递给open方法调用。var db = event.target.result;
db.onerror = function () {console.log(db.errorCode);
};// 创建一个存储对象。key是用来标识这个存储对象。//keyPath参数定义了key存储的地方。如果keyPath指定了,那么这个存储对象只能包含JavaScript对象,//而且每个对象必须有一个属性名字和keyPath相同(除非autoIncrement选项是true)。var store = db.createObjectStore('customers', { keyPath: 'customerId' });// 定义我们想要使用的索引。我们创建的存储对象不需要包含这些属性,它们只会出现在指定的索引中。//// 使用方式: store.createIndex(indexName, keyPath[, parameters]);//// All these values could have duplicates, so set unique to falsestore.createIndex('firstName', 'firstName', { unique: false });
store.createIndex('lastName', 'lastName', { unique: false });
store.createIndex('street', 'street', { unique: false });
store.createIndex('city', 'city', { unique: false });
store.createIndex('zipCode', 'zipCode', { unique: false });
store.createIndex('country', 'country', { unique: false });// 一旦store创建成功,就可以存储数据了。store.transaction.oncomplete = function (event) {// transaction方法获取到存储对象名字和索引的数组(或者一个单字符串去得到一个单独的存储对象),它们都在事务的作用域里。// 事务是只读的,除非指定了readwrite选项。//它返回了一个对象,这个对象提供了objectStore方法去访问transaction作用域里的对象。var customerStore = db.transaction('customers', 'readwrite').objectStore('customers');
customers.forEach(function (customer) {
customerStore.add(customer);
});
};
};function displayData() {
}

Cordova-sqlite-storage

//安装cordova plugin add cordova-sqlite-storage --save//实例化var db = null;document.addEventListener('deviceready', function() {
db = window.sqlitePlugin.openDatabase({name: 'demo.db', location: 'default'});
});//使用标准事务 API 填充数据库:db.transaction(function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS DemoTable (name, score)');
tx.executeSql('INSERT INTO DemoTable VALUES (?,?)', ['Alice', 101]);
tx.executeSql('INSERT INTO DemoTable VALUES (?,?)', ['Betty', 202]);
}, function(error) {console.log('Transaction ERROR: ' + error.message);
}, function() {console.log('Populated database OK');
});//使用标准事务 API 检查数据:db.transaction(function(tx) {
tx.executeSql('SELECT count(*) AS mycount FROM DemoTable', [], function(tx, rs) {console.log('Record count (expected to be 2): ' + rs.rows.item(0).mycount);
}, function(tx, error) {console.log('SELECT error: ' + error.message);
});
});//使用 SQL 批处理 API 填充数据库:db.sqlBatch(['CREATE TABLE IF NOT EXISTS DemoTable (name, score)',
[ 'INSERT INTO DemoTable VALUES (?,?)', ['Alice', 101] ],
[ 'INSERT INTO DemoTable VALUES (?,?)', ['Betty', 202] ],
], function() {console.log('Populated database OK');
}, function(error) {console.log('SQL batch ERROR: ' + error.message);
});

其他api文档

本文分享自微信公众号 - 真如赝的唠叨(pkoldcom)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部