Exercicio Final de Curso - watter/titanium GitHub Wiki
Programa de mensagens
-
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)
-
aba com seus contatos(telefone)
-
aba com contatos baixados(webservice)
-
aba com contatos comuns (abre janela com as mensagens quando clica no contato comum)
-
aba de mensagens (escrever)
-
aba de mapas para mandar a localizaçao como mensagem e salvar/mostrar ultimos locais que foram enviados
detalhes:
- Ler webservice com nome mail telefone (base demoexpressoapi ou criamos uma base)
- carregar a base e salvar no banco do celular
- ler os contatos do fone e comparar e criar uma lista com nome e fone em comum
- enviar e receber textos entre os contatos comuns no formato fone/mail envio --- fone/mail recepção - mensagem
- mostrar localizaçao da pessoa e enviar como texto
detalhes de implementação
NOTA: Só envia e-mail para a própria conta!!
- http://expressolivre.org/ios/documentacao.php
- http://demo.expressolivre.org/api/rest/
- usuário: demo
- senha: demo22
- para acessar a versão web do expresso: http://demo.expressolivre.org/
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));
});