SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Trabalhando com Dados
        Locais




    Curso Appcelerator Titanium @flunardelli
Dados Locais
●       Properties API
    ●    Ideal para configurações e poucas informações
    ●    API simples
●       Local Filesystem
    ●    Ideal para armazenar arquivos e dados maiores
    ●    PDFs, imagens, etc
●       SQL Database
    ●    Dados estruturados
    ●    Interface SQLite padrão


                           Curso Appcelerator Titanium @flunardelli
Titanium.App.Properties

●       getBool() / setBool(): para booleans (true, false)
●       getDouble() / setDouble(): para float
●       getInt() / setInt(): para integers
●       getList() / setList(): para arrays
●       getString() / setString(): para strings


Ti.App.Properties.setString('myString','Uma string');
Ti.App.Properties.getString('myString','Uma string padrao');


    ●    Também é possível usar: JSON.stringify e JSON.parse

                          Curso Appcelerator Titanium @flunardelli
Titanium.Filesystem
●       Properties
    ●    applicationDataDirectory, resourcesDirectory,
         tempDirector
●       Methods
    ●    nativePath(),getFile(),deleteFile(),move(),read(),write()




                        Curso Appcelerator Titanium @flunardelli
Titanium.Filesystem
Create Dir
var newDir = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory,'mydir');
newDir.createDirectory();
Ti.API.info('Path to newdir: ' + newDir.nativePath);
Write
var newFile = Titanium.Filesystem.getFile(newDir.nativePath,'newfile.json');
newFile.write(JSON.stringify(dataToWrite));
Read
var resources = JSON.parse(newFile.read().text);
Delete
newFile.deleteFile();
newDir.deleteDirectory();
                          Curso Appcelerator Titanium @flunardelli
Titanium.Database

    SQLite
●   Banco de dados relacional em um arquivo de texto simples
●   Usada como padrão nos novos browser e dispositivos
    móveis
●   Não deve ser usada para dados binários
●   Funções limitadas




                   Curso Appcelerator Titanium @flunardelli
Titanium.Database
var db = Ti.Database.open('mapDB.db');
db.execute('CREATE TABLE IF NOT EXISTS map (id INTEGER PRIMARY KEY
AUTOINCREMENT, name VARCHAR(16) NOT NULL, value TEXT NOT NULL)');
db.execute('INSERT INTO map (name,value) VALUES (?,?)','name'+1,'value'+1);
var mapRow = db.execute('SELECT id,name,value FROM map');
    while (mapRow.isValidRow()){
        var mapId = mapRow.fieldByName('id');
        var mapName = mapRow.fieldByName('name');
        var mapValue = mapRow.fieldByName('value');
        Ti.API.info(mapId + ' ' + mapName + ' ' + mapValue);
        mapRow.next();
    }
mapRow.close();
//db.remove();
                     Curso Appcelerator Titanium @flunardelli
Trabalhando com Dados
       Remotos




    Curso Appcelerator Titanium @flunardelli
Titanium.Network.HTTPClient

    REST (Representational State Transfer)
●   Classe principal é a HTTPClient
●   Implementa o mesmo XMLHTTPRequest usado nos
    browsers
●   Métodos open, send, abort
●   Eventos onload, onerror




                   Curso Appcelerator Titanium @flunardelli
Titanium.Network.HTTPClient

var xhr = Ti.Network.createHTTPClient();
xhr.onload = function(e) {
     alert(this.responseText)
};
xhr.onerror = function(e) {
     alert('error');
};


xhr.open('GET','http://www.google.com');
xhr.send({data:'mydata'});

                       Curso Appcelerator Titanium @flunardelli

Más contenido relacionado

Destacado

Destacado (8)

Visualização de dados usando Nagios e ANA
Visualização de dados usando Nagios e ANAVisualização de dados usando Nagios e ANA
Visualização de dados usando Nagios e ANA
 
Introdução aos Dados abertos - Open Data
Introdução aos Dados abertos - Open DataIntrodução aos Dados abertos - Open Data
Introdução aos Dados abertos - Open Data
 
5 curso-titanium-views
5 curso-titanium-views5 curso-titanium-views
5 curso-titanium-views
 
2 curso-titanium-plataforma
2 curso-titanium-plataforma2 curso-titanium-plataforma
2 curso-titanium-plataforma
 
Eventguard
EventguardEventguard
Eventguard
 
3 curso-titanium-instalacao
3 curso-titanium-instalacao3 curso-titanium-instalacao
3 curso-titanium-instalacao
 
Introdução Business intelligence - 101
Introdução Business intelligence  - 101Introdução Business intelligence  - 101
Introdução Business intelligence - 101
 
1 curso-titanium-apresentacao
1 curso-titanium-apresentacao1 curso-titanium-apresentacao
1 curso-titanium-apresentacao
 

Similar a 6 curso-titanium-dados

TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...
TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...
TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...tdc-globalcode
 
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTJavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTRodrigo Cândido da Silva
 
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Carlos Duarte do Nascimento
 
Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineCampus Party Brasil
 
Apis palestra 7º JUG Vale
Apis palestra 7º JUG Vale Apis palestra 7º JUG Vale
Apis palestra 7º JUG Vale Pedro Hos
 
Mini-Curso de MongoDB
Mini-Curso de MongoDBMini-Curso de MongoDB
Mini-Curso de MongoDBBrunno Gomes
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dadosHenrique Fernandes
 
PHP e Ajax com XAJAX
PHP e Ajax com XAJAXPHP e Ajax com XAJAX
PHP e Ajax com XAJAXRafael Dohms
 
LINQ - Language Integrated Query
LINQ - Language Integrated QueryLINQ - Language Integrated Query
LINQ - Language Integrated QueryDalton Valadares
 
Desenvolvendo com mongodb
Desenvolvendo com mongodbDesenvolvendo com mongodb
Desenvolvendo com mongodbThiago Avelino
 
Workshop Elasticsearch - Android Dev Conference 2016
Workshop Elasticsearch - Android Dev Conference 2016Workshop Elasticsearch - Android Dev Conference 2016
Workshop Elasticsearch - Android Dev Conference 2016Thiago Barradas
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmGuilherme Blanco
 
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Helder da Rocha
 

Similar a 6 curso-titanium-dados (20)

TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...
TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...
TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...
 
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTJavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
 
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
 
Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App Engine
 
Aprendendo R
Aprendendo RAprendendo R
Aprendendo R
 
Apis palestra 7º JUG Vale
Apis palestra 7º JUG Vale Apis palestra 7º JUG Vale
Apis palestra 7º JUG Vale
 
Mongodb workshop cinlug
Mongodb workshop cinlugMongodb workshop cinlug
Mongodb workshop cinlug
 
Mini-Curso de MongoDB
Mini-Curso de MongoDBMini-Curso de MongoDB
Mini-Curso de MongoDB
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Doctrine for Dummies
Doctrine for DummiesDoctrine for Dummies
Doctrine for Dummies
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dados
 
Banco de Dados - Android
Banco de Dados - AndroidBanco de Dados - Android
Banco de Dados - Android
 
PHP e Ajax com XAJAX
PHP e Ajax com XAJAXPHP e Ajax com XAJAX
PHP e Ajax com XAJAX
 
Doctrine for dummies
Doctrine for dummiesDoctrine for dummies
Doctrine for dummies
 
LINQ - Language Integrated Query
LINQ - Language Integrated QueryLINQ - Language Integrated Query
LINQ - Language Integrated Query
 
Desenvolvendo com mongodb
Desenvolvendo com mongodbDesenvolvendo com mongodb
Desenvolvendo com mongodb
 
Workshop Elasticsearch - Android Dev Conference 2016
Workshop Elasticsearch - Android Dev Conference 2016Workshop Elasticsearch - Android Dev Conference 2016
Workshop Elasticsearch - Android Dev Conference 2016
 
API Apontador
API ApontadorAPI Apontador
API Apontador
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
 
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
 

6 curso-titanium-dados

  • 1. Trabalhando com Dados Locais Curso Appcelerator Titanium @flunardelli
  • 2. Dados Locais ● Properties API ● Ideal para configurações e poucas informações ● API simples ● Local Filesystem ● Ideal para armazenar arquivos e dados maiores ● PDFs, imagens, etc ● SQL Database ● Dados estruturados ● Interface SQLite padrão Curso Appcelerator Titanium @flunardelli
  • 3. Titanium.App.Properties ● getBool() / setBool(): para booleans (true, false) ● getDouble() / setDouble(): para float ● getInt() / setInt(): para integers ● getList() / setList(): para arrays ● getString() / setString(): para strings Ti.App.Properties.setString('myString','Uma string'); Ti.App.Properties.getString('myString','Uma string padrao'); ● Também é possível usar: JSON.stringify e JSON.parse Curso Appcelerator Titanium @flunardelli
  • 4. Titanium.Filesystem ● Properties ● applicationDataDirectory, resourcesDirectory, tempDirector ● Methods ● nativePath(),getFile(),deleteFile(),move(),read(),write() Curso Appcelerator Titanium @flunardelli
  • 5. Titanium.Filesystem Create Dir var newDir = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory,'mydir'); newDir.createDirectory(); Ti.API.info('Path to newdir: ' + newDir.nativePath); Write var newFile = Titanium.Filesystem.getFile(newDir.nativePath,'newfile.json'); newFile.write(JSON.stringify(dataToWrite)); Read var resources = JSON.parse(newFile.read().text); Delete newFile.deleteFile(); newDir.deleteDirectory(); Curso Appcelerator Titanium @flunardelli
  • 6. Titanium.Database SQLite ● Banco de dados relacional em um arquivo de texto simples ● Usada como padrão nos novos browser e dispositivos móveis ● Não deve ser usada para dados binários ● Funções limitadas Curso Appcelerator Titanium @flunardelli
  • 7. Titanium.Database var db = Ti.Database.open('mapDB.db'); db.execute('CREATE TABLE IF NOT EXISTS map (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(16) NOT NULL, value TEXT NOT NULL)'); db.execute('INSERT INTO map (name,value) VALUES (?,?)','name'+1,'value'+1); var mapRow = db.execute('SELECT id,name,value FROM map'); while (mapRow.isValidRow()){ var mapId = mapRow.fieldByName('id'); var mapName = mapRow.fieldByName('name'); var mapValue = mapRow.fieldByName('value'); Ti.API.info(mapId + ' ' + mapName + ' ' + mapValue); mapRow.next(); } mapRow.close(); //db.remove(); Curso Appcelerator Titanium @flunardelli
  • 8. Trabalhando com Dados Remotos Curso Appcelerator Titanium @flunardelli
  • 9. Titanium.Network.HTTPClient REST (Representational State Transfer) ● Classe principal é a HTTPClient ● Implementa o mesmo XMLHTTPRequest usado nos browsers ● Métodos open, send, abort ● Eventos onload, onerror Curso Appcelerator Titanium @flunardelli
  • 10. Titanium.Network.HTTPClient var xhr = Ti.Network.createHTTPClient(); xhr.onload = function(e) { alert(this.responseText) }; xhr.onerror = function(e) { alert('error'); }; xhr.open('GET','http://www.google.com'); xhr.send({data:'mydata'}); Curso Appcelerator Titanium @flunardelli