TuxCon 2014: Съхранение на данни в Tizen уеб приложения

Embed Size (px)

Citation preview

Tizen

@[email protected]

Tizen?

Tizen web applications

Web Storage

Web SQL Database

IndexedDB

Tizen?

Linux

,

ARM x86

HTML5 native C++

2012

2013

2013

Tizen 1.0 Larkspur

Tizen 2.0 Magnolia

Tizen 3

2014

Tizen

Tizen web applications

apps Tizen

: HTML, CSS, JavaScript

wgt

HTML5 APIs

Tizen APIs

function write(fileStream) {try {fileStream.write('bar');fileStream.close();} catch (err) {console.log('Unable to save file: ' + err.message);}}

try {documentsDir.createFile('foo.txt');file = documentsDir.resolve('foo.txt');file.openStream('w', write, onError);} catch (errWrite) {console.log('Error: ' + errWrite.message);}

var documentsDir;

function onError(e) {console.log('error: ' + e.message);}

function onResolveSuccess(dir) {documentsDir = dir;}

tizen.filesystem.resolve('documents', onResolveSuccess, onError, 'w');

function read(fileStream) {try {var sFileContent = fileStream.read(fileStream.bytesAvailable);console.log('file content: ' + sFileContent);fileStream.close();} catch (err) {console.log('Unable to read file: ' + err.message);}}

function readFile() {try {file = documentsDir.resolve('foo.txt');file.openStream('r', read, onError);} catch (err) {console.log('Error: ' + err.message);}}

function showFileContent(data) {console.log(data);}

function readFileWithoutStream() {try {var file = documentsDir.resolve('foo.txt');file.readAsText(showFileContent, onError);} catch (err) {console.log('Error:' + err.message);}}

var listener = {onprogress: function(id, receivedSize, totalSize) { /* */ },onpaused: function(id) { /* */ },oncanceled: function(id) { /* */ },oncompleted: function(id, sFullPath) { /* */ },onfailed: function(id, error) { /* */ },};

var downloadRequest = new tizen.DownloadRequest("http://tuxcon.mobi/themes/yellow-swan/img/Tux.png", "images");

var nDownloadId = tizen.download.start(downloadRequest, listener);

tizen.download.pause(nDownloadImageId);

tizen.download.resume(nDownloadImageId);

Web Storage

Session storage

Local storage

// bar foo.localStorage.setStorage('foo', 'bar');

// foovar foo = localStorage.getItem('foo');

Web SQL Database

SQL , SQL Lite

Tizen

HTML5 2010.

Desktop Browsers

Chrome, Opera Safari

Firefox Internet Explorer

Web SQL DB

var db = null;var dbVersion = 1.0;var dbName = "TuxCon2014";var dbDesc = "FOSS conference";var dbSize = 1024 * 1024; //1MBtry {db = openDatabase(dbName, dbVersion, dbDesc, dbSize);}catch(err) {console.log(err.message);}

// db.transaction(function (transaction) {transaction.executeSql("CREATE TABLE IF NOT EXISTS tbl (id INTEGER PRIMARY KEY, content TEXT)");});

// db.transaction(function (transaction) {transaction.executeSql("INSERT INTO tbl(id, content) VALUES (?, ?)", [1, 'foo']);});

IndexedDB

HTML5

( Safari )

KEEP CALM AND SUPPORT FOSS