Exercicio Final de Curso - watter/titanium GitHub Wiki

Programa de mensagens

  1. validador(coloca um email e o celular manda uma chave pra esse email pra validaçao para reconhecer qual é o email e fone para associar)

  2. aba com seus contatos(telefone)

  3. aba com contatos baixados(webservice)

  4. aba com contatos comuns (abre janela com as mensagens quando clica no contato comum)

  5. aba de mensagens (escrever)

  6. aba de mapas para mandar a localizaçao como mensagem e salvar/mostrar ultimos locais que foram enviados

detalhes:

  1. Ler webservice com nome mail telefone (base demoexpressoapi ou criamos uma base)
  2. carregar a base e salvar no banco do celular
  3. ler os contatos do fone e comparar e criar uma lista com nome e fone em comum
  4. enviar e receber textos entre os contatos comuns no formato fone/mail envio --- fone/mail recepção - mensagem
  5. mostrar localizaçao da pessoa e enviar como texto

detalhes de implementação

NOTA: Só envia e-mail para a própria conta!!

API EXPRESSO - CLIENT TITANIUM

  • Criar Arquivo "controllers/Expresso.js"

var Expresso = function(args) {

this.auth = args.auth || '';

this.apiURL = args.url || '';

this.profile = args.profile || '';

this.params = {};

for(var key in this) {
	
	Expresso.prototype['get' + key] = (function(key) {
		
		return function() {
			
			return this[key];
		};
	})(key);
	
	Expresso.prototype['set' + key] = (function(key) {
		
		return function(_value) {
			
			this[key] = _value;
		};
	})(key);
}

};

Expresso.prototype.execute = function(resourceName,ResourceParams,scallback, ecallback) {

var retVal = {};

var apiURL = this.apiURL;

var apiReq = Titanium.Network.createHTTPClient();	
apiReq.onload = function()
{
	var json = this.responseText;
	var response = JSON.parse(json);
	
	if (!response.error)
	{
		if (resourceName == "Login") 
		{
			this.auth = response.result.auth;
			this.profile = response.result.profile;
		}
		scallback(response.result);
		
	} else {
		ecallback(response.error);
	}
};

apiReq.open("POST", apiURL + resourceName);
ResourceParams.auth = this.auth;
var params = {
	id: 1,
	params: JSON.stringify(ResourceParams),
};
apiReq.send(params);

};

module.exports = Expresso;

EXEMPLO DE REQUISIÇÃO - API EXPRESSO - CLIENT TITANIUM

    $.api = require('controllers/Expresso');
$.api = new $.api({ url: "http://demo.expressolivre.org/api/rest/" });

$.api.execute("Login",{user: "demo","password": "demo22"},
function (result) {
	alert(JSON.stringify(result));
	
	$.api.execute("Mail/Messages",{folderID: "INBOX",search: "", page: 1, resultsPerPage: 10 },
	function (result) {
		alert(JSON.stringify(result));
	},function(error) {
		alert(JSON.stringify(error));
	});
	
	
	$.api.execute("Catalog/Contacts",{contactType: "1",search: "" },
	function (result) {
		alert(JSON.stringify(result));
	},function(error) {
		alert(JSON.stringify(error));
	});
	
},
function (error) {
	alert(JSON.stringify(error));
});