Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

6 curso-titanium-dados

1,119 views

Published on

Published in: Technology, Education
  • Be the first to comment

6 curso-titanium-dados

  1. 1. Trabalhando com Dados Locais Curso Appcelerator Titanium @flunardelli
  2. 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. 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 stringsTi.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. 4. Titanium.Filesystem● Properties ● applicationDataDirectory, resourcesDirectory, tempDirector● Methods ● nativePath(),getFile(),deleteFile(),move(),read(),write() Curso Appcelerator Titanium @flunardelli
  5. 5. Titanium.FilesystemCreate Dirvar newDir = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory,mydir);newDir.createDirectory();Ti.API.info(Path to newdir: + newDir.nativePath);Writevar newFile = Titanium.Filesystem.getFile(newDir.nativePath,newfile.json);newFile.write(JSON.stringify(dataToWrite));Readvar resources = JSON.parse(newFile.read().text);DeletenewFile.deleteFile();newDir.deleteDirectory(); Curso Appcelerator Titanium @flunardelli
  6. 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. 7. Titanium.Databasevar db = Ti.Database.open(mapDB.db);db.execute(CREATE TABLE IF NOT EXISTS map (id INTEGER PRIMARY KEYAUTOINCREMENT, 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. 8. Trabalhando com Dados Remotos Curso Appcelerator Titanium @flunardelli
  9. 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. 10. Titanium.Network.HTTPClientvar 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

×