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
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
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