Gerando uma keystore para assinar aplicativos Android

Localize a pasta bin da sua instalação Java pelo Prompt de Comando e execute o comando abaixo:

keytool -genkey -v -keystore my_keystore.keystore
-alias TutorialsPoint -keyalg RSA -keysize 2048 -validity 10000

Onde my_keystore.keystore é o nome do arquivo da chave e caminho e TutorialsPoint é o Alias da chave.

Ao executar o keytool solicita algumas informações incluindo a senha para a chave. Basta confirmar e gerar a chave no local indicado.

 

 

 

Detectando a primeira execução de um aplicativo Android com Phonegap

Quando desenvolvemos aplicativos para dispositivos móveis usando SQLITE precisamos criar as tabelas durante a execução do aplicativo já que não temos disponível um gerenciador de banco de dados para que a tabela seja criada previamente no dispositivo, o problema é que precisamos criar um artifício para que esse trecho de código da criação da tabela seja executado somente uma vez, ou seja, na primeira execução do aplicativo.

A solução é bastante simples, lembrando que tal solução se aplica somente a aplicativos desenvolvidos com Phonegap, basicamente devemos criar um flag, uma variável de controle, na primeira execução do aplicativo e armazenar ela de modo local, para que possa ser consultada a qualquer momento na aplicação.

function onDeviceReady() {
    //Criamos e armazenamos a variável local
    var firstrun = window.localStorage.getItem("runned");

    if ( firstrun == null ) {
        //Trecho que deve ser executado somente uma vez
        //Gravamos um valor qualquer no flag para que possa ser feita a comparação
        window.localStorage.setItem("runned", "1");
    }else{
        //Trecho que deve ser executado todas as vezes
    }
}

Trabalhando com Datas no Sqlite

Muitas pessoas têm dúvida na hora de trabalhar com datas no sqlite, o que é aceitável já que sqlite não tem um tipo data que possa ser especificado para um campo, como date ou datetime, por exemplo, o que nos resta então é usar os tipos nativos do sqlite para armazenar e manipular as datas, ou seja, podemos usar:

TEXT para armazenar uma string com o valor da data, exemplo “2013-03-03 21:21:00”, dessa forma podemos ordenar os valores de acordo com o campo data sem problemas.

Repare que no trecho do código abaixo o campo datahora e ultima são criados com o tipo TEXT.

CREATE TABLE IF NOT EXISTS conta
             (codigo INTEGER PRIMARY KEY AUTOINCREMENT, 
             datahora TEXT, 
             ultima TEXT, 
             descricao TEXT, 
             status_excluido INTEGER DEFAULT 0)'

O próximo trecho de código mostra como gravar o DATETIME atual do sistema usando uma das funções de manipulação de datas do Sqlite:

INSERT INTO conta(datahora, descricao) values(datetime('now'),'Exemplo de texto');

Existem ainda duas outras formas recomendas de trabalhar com datas no Sqlite, que são:

– Usar um campo do tipo REAL e armazenar as datas no formato Juliano.

– Por último, usar um campo do tipo INTEGER para armazenar um valor UNIX TIME, por exemplo.

Os dois últimos tem a vantagem de permitirem comparações entre datas, subtração ou adição, de forma mais simples e direta.

Abaixo alguns links de referência que podem ser bastante úteis na manipulação de datas com Sqlite:

Lista de funções para manipulação de datas
http://www.sqlite.org/lang_datefunc.html

Documentação sobre Datas e outros tipos no Sqlite
http://www.sqlite.org/datatype3.html

Fechar uma aplicação com Phonegap e Javascript

Fechar uma aplicação android, ou criar um botão para fechar a aplicação se torna uma tarefa bastante simples quando utilizamos o framework de desenvolvimento Phonegap, se você não conhece recomendo fortemente ir até o site http://phonegap.com/ e dar uma olhada.

Basicamente ele permite o desenvolvimento multiplataforma em javascript/html, ou seja, ele permite que você desenvolva em javascript/html para basicamente qualquer plataforma existe no mercado, seja ela Android, iOS ou Windows Phone utilizando o mesmo código em qualquer uma dessas.

Phonegap nos permite usar o método: navigator.app.exitApp(); que pode se chamado a qualquer momento de dentro de uma função Javascript.

function exitFromApp(){
   console.log("Fechando Aplicação");
   navigator.app.exitApp();
}

Redirecionando entre páginas ou telas com Phonegap

O redirecionamento entre página com Phonegap é bastante simples e totalmente baseado em javascript, abaixo uma função e exemplo de utilização da mesma.

function callAnothePage(path)
{
window.location = path;
}
<a onclick="callAnothePage('tela2.html')" >Tela 2</a>