Primeira aplicação em Android

Primeira aplicação em Android – Parabéns PPLWARE

Criado por Pedro Pinto em 18 de Abril de 2011 | 28 comentários

Aproveitando que hoje é um dia muito importante para o pplware, decidimos “inaugurar” a nossa rubrica de programação para dispositivos móveis com Android. Como normalmente refiro, programar em Android não é diferente de programar em outras linguagens de programação, no entanto é necessário perceber como se interligam os layouts em XML, com as classes em Java e por aí fora.

Vamos lá então começar com o tradicional “Hello World” e aproveitamos para dar os parabéns ao pplware pelo sexto aniversário.

android_10

Há uma lenda que diz o seguinte “Se vais começar na programação e a tua primeira aplicação não é o Hello World, nunca vais ser bom programador !!!!” :) .

Depois de prepararem o vosso ambiente de trabalho Eclipse + SDK (ver aqui), vamos abrir o Eclipse e seguir os seguintes passos:

Passo 1 – Criar um novo projecto Android. Para tal, no Eclipse, escolhemos File—>New—>Other e depois escolhemos Android Project e carregamos em Next.

android_00

Passo 2 – Em seguida vamos indicar os parâmetros do nosso projecto

  • Project name – Nome a atribuir ao projecto
  • Built Target – Requisito mínimo a nível de versão  Android para correr a nossa aplicação
  • Application name: Nome da aplicação
  • Package name: Namespace do pacote a criar ( No mínimo dois nomes).
  • Create Activiy: (Opcional) Nome a associar classe default.
  • Min SKD Version: versão mínima do SDK (Podem ver o número a associar no Built Target)

android_01

Para finalizar carregamos em Finish. Depois de definido os parâmetros anteriores, a aplicação está pronta a funcionar. Vamos apenas dar uma vista de olhos na estrutura do projecto.

Passo 3 – De um modo geral, um projecto para Android é constituído por classes .java (que estão no directório src), layouts baseados em .xml (que estão normalmente dentro da pasta res/layouts), ficheiros em .xml que podem guardar valores de variáveis e mais um conjunto de directórios que servem de suporte ao projecto (para incluir imagens, ficheiros de áudio, etc).

android_02

Passo 4 – Abrindo o ficheiro HelloWorld.java, podemos verificar que foi  uma classe que deriva da classe Activity e que possui um método onCreate que invoca o método setContentView, que invoca o layout main.

android_03

Passo 5 – Vamos agora dar uma espreitadela ao ficheiro main.xml que se encontra dentro da pasta res/layout. Como podemos verificar, é exibido um preview do layout e apresentado o texto “Hello Word, HelloWord” através de uma textview.

android_04

Passo 6 – Acedendo às propriedades da textview, podemos verificar que o texto a apresentar vem da variávelhello que é do tipo String.

android_05

Passo 7 – A informação dessa variável encontra-se no ficheiro strings.xml, que se encontra em res/values.

android_06

Passo 8 – Vamos agora correr a aplicação e ver o resultado. para tal, convém seleccionar a classe principal (neste caso HelloWorld.java) e carregar no botão Run

android_07

Passo 9 – Depois escolhemos a opção Android Application e deixamos o emulador correr.

android_08

Passo 10 – E está feita a vossa primeira aplicação para Android. Caso tenham o smartphone com Android ligado ao PC, podem escolher que a mesma corre directamente no equipamento.

android_09

Trabalho de casa

Agora que começaram a dar os primeiros passos na programação para Android, experimentem fazer o seguinte: em vez de apresentar o Hello World, a aplicação deverá apresentar o texto PARABENS PPLWARE pelo teu 6º Aniversário!!!!, tal como é apresentado na primeira imagem. Deixo uma dica, lembram-se da String hello? Vejam o Passo 6.

Considerações finais

Este é o nosso primeiro artigo sobre programação para Android e esperamos que tenham compreendido. Nos próximos artigos desta rubrica abordaremos mais algumas características e pormenores. A fase inicial (fase de adaptação) é sempre a mais difícil e por isso é importante saber a vossa opinião, as vossas duvidas, as vossas sugestões.

Download: HelloWorld

Chrome chegou à versão 12 e traz muitas novidades…

Chrome chegou à versão 12 e traz muitas novidades…

Criado por Pedro Simões em 27 de Março de 2011 | 65 comentários

Tal como prometido pela equipa de desenvolvimento do Chrome, as versões estão a sair a um ritmo estável e cadenciado. Em todas elas são apresentadas novidades que vão sendo amadurecidas e passadas para as versões mais estáveis.

O incremento dos números de versão reflete sempre uma alteração a nível do motor do Chrome ou do motor do Javascript. Por essa razão saíram esta semana duas novas versões na família Chrome. A versão Beta atingiu a versão 11 e a Dev chegou à 12. Qualquer uma delas está repleta de novidades que vão com certeza ser do agrado dos muitos utilizadores.

Estas duas versões são a antecâmara do que vai ser passado para a versão final do Chrome. São aqui testadas e amadurecidas novas funcionalidades antes de serem disponibilizadas a todos os utilizadores do Chrome. Cada uma das duas versões tem por isso número de versão distinto, consoante a maturidade das implementações.

Algumas dessas novas funcionalidades não são disponibilizadas de forma directa, sendo necessário activá-las através da interface que os programadores disponibilizaram dentro do Chrome. Ficou assim mais simples activar ou desactivar cada uma delas, sem termos de recorrer a adições de flags à linha de comando do executável do Chrome. Coloquem na Omnibox do vosso Chrome o texto about:flags e activem as que entenderem ser necessárias.

Chrome Dev 12

Esta versão é, dentro da familia Chrome, a uma das mais desenvolvidas e a que apresenta sempre as maiores novidades. Apenas tem à sua frente a versão Canary, e mesmo esta apenas retém durante alguns dias essas mesmas novidades.

A release 12 desta versão apresenta algumas novidades que vão com certeza ser incorporadas nas restantes versões, depois da devida maturação e resolução de eventuais bugs que surjam. Depois de ter visto o seu ícone ser alterado, o Chrome voltou atrás e nesta versão aparece o antigo. Provavelmente esta alteração será revertida.

Outras novidades que a versão 12 apresenta estão relacionadas com funcionalidades do próprio browser. Existe uma nova página quando abrimos um separador novo. Esta aparenta estar preparada para equipamentos com suporte para toque. Para já, está numa fase ainda muito embrionária e apenas disponibiliza o acesso às WebApps instaladas. Se a quiserem testar devem activa-la na zona de experiências do Chrome (about:flags).

Outra novidades que também está acessível na mesma zona é a disponibilização de um contador de FPS sempre que a aceleração por hardware for usada.

Chrome Beta 11

A nova versão beta do Chrome trouxe para a ribalta algumas das funcionalidades que estão em testes na versão Dev há já algum tempo. A primeira e mais visível é a alteração do logótipo do Chrome (que entretanto voltou à original na versão Dev). Existiram ainda alterações no motor Webkit e no V8, motor de JavaSript, e foram adicionadas funcionalidades como transformações CSS 3D e compositing suportadas por aceleração GPU.

Para além das novidades mais óbvias, existe uma que fará as delicias de todos os utilizadores desta versão Passou a estar disponível o suporte para a utilização de uma funcionalidade que o HTML5 implementa e que é o HTML5 Speech Recognition, ou seja, o reconhecimento de voz. Passamos a poder introduzir texto no Chrome através da utilização da nossa voz, podendo assim ditar texto para o Chrome e este converte-o de forma automática. Podem testar esta funcionalidade nesta página. Devem ter instalado no vosso computador a versão Beta 11 ou a Dev 12.

Todas as novidades que têm sido apresentadas para o Chrome estão a torna-lo num browser muito apetecido de usar. Está na linha da frente na implementação de funcionalidades que representam os avanços neste campo.

Este browser é desde as suas primeiras versões capaz de competir de forma igual com as restantes propostas do mercado, com uma vantagem óbvia por libertarem actualizações com uma elevada frequência. Deixamos de ter de esperar meses ou anos a fio para vermos implementadas as funcionalidades que precisamos agora.

Se não são utilizadores do Chrome aconselhamos que o testem de forma exaustiva, para que entendam que é tão bom ou melhor que o browser da vossa preferência.

Licença: Freeware
Sistemas Operativos: Windows/ Linux/ Mac OS
Download Versão Canary: Windows
Download Versão Dev: Windows | Debian (32bits / 64bits) | Fedora (32bits / 64bits) | Mac
Download Versão Beta: Windows | Debian (32bits / 64bits) | Fedora (32bits / 64bits) | Mac
Download Versão Estável: Windows | Linux | Mac
Homepage: Google Chrome

MyCod.es – Crie e altere a informação de um código QR

MyCod.es – Crie e altere a informação de um código QR

Criado por Pedro Pinto em 24 de Março de 2011 | 27 comentários

Os códigos QR vieram para ficar! Em tempos, numa deslocação a Espanha, achei interessante ver numa feira municipal uma barraca onde se vendiam pulseiras e outras bugigangas, um cartaz com um código QR para as pessoas consultarem o site.

No entanto, os códigos QR são hoje usados em cartões de visitas, publicidades indoor e outdoor, etc.

E se for necessário alterar o url associado a um determinado código QR?

O QR Code é a evolução natural dos actuais códigos de barras. Este código de barras bi-dimensional, foi criado pela empresa Nipónica Denso-Wave, em 1994. Devido ao sucesso desta “tecnologia”, muitas empresas estão a inserir nas suas publicidades códigos QR que “levam” os utilizadores normalmente às páginas dos produtos em questão. E se o URL associado ao código QR mudar, é necessário fazer novo investimento?

Até à relativamente pouco tempo, tal alteração não era possível de ser efectuada. Recentemente, com o aparecimento do serviço online mycod.es é possível criar facilmente códigos QR, associar um URL e posteriormente alterar esse mesmo URL.

Principais características do serviço mycod.es

  • Fácil criar códigos QR e associar URLS
  • Suporte para estatísticas
  • Suporte para notificações, através do site online
  • Reaproveitamento do código QR

qr_01

Depois de aceder ao serviço, basta indicar o URL e uma pequena designação. Depois basta carregar no botão Add, e o código QR é automaticamente criado.

qr_02O serviço possibilita um controlo total sobre o código QR. É possível verificar se funciona correctamente, detalhes, estatísticas com um bom nível de detalhe, apresentação do número de scans e remover o código QR.

qr_07Na versão gratuita, é possível criar até 5 códigos QR com um máximo de 50 scans por mês. No entanto, a empresa disponibiliza outros planos de preços (ver aqui).

O conceito associado a este serviço é bastante interessante. É pena não ser possível mais scans por cada código QR criado na versão gratuita.

É hora de darem asas a vossa imaginação e arranjarem uma ideia genial para colocar um código QR.

Artigos relacionados

Homepage: MyCod.es

Bump – É só bater o Android no iPhone

Bump – É só bater o Android no iPhone

Criado por Pedro Pinto em 27 de Março de 2011 | 9 comentários

Partilha simples de informação entre smartphones com Android e também iPhone.

Há uns anos a possibilidade de ligar dois equipamentos em rede era algo complexo.Ainda me lembro a primeira vez que tentei ligar dois computadores entre eles. Na altura tinha um cabo paralelo e lembro-me foi uma tarefa árdua. Nos dias de hoje tudo é bem mais simples, há mais tecnologias e aplicações que facilitam este processo.

Recentemente experimentei uma aplicação bastante engraçada que permite partilhar informação entre um Android e iPhone. Vamos conhecer o Bump.

bump_000

O Bump simplifica aquilo que por norma é chato de realizar nos smartphones, configurar os equipamentos para poder partir informação. Com o Bump, para partilhar informação entre equipamentos (Android e iPhone) basta apenas bater um equipamento no outro (tipo como se estivéssemos a comemorar).

bump_01

O Bump está dividido em duas partes: a aplicação que corre que dispositivo e um algoritmo inteligente que corre na cloud dos servidores do serviço Bump. A aplicação recorre ao acelerómetro para activar o “bump” sendo que essa informação é de imediato enviada para a cloud. O Bump usa a ligação wifi/3G para efectuar a transferência de ficheiros entre equipamentos.

Vejam o Bump em acção:

Como instalar o Bump no Android?

Caso queiram experimentar esta aplicação, basta que apontem o vosso leitor de códigos QR para a imagem abaixo, e serão encaminhados para a aplicação no Android Market.

qr_bump01

Como instalar o Bump no iPhone?

Para instalar o Bump no iPhone basta aceder a AppStore aqui, ou carregando na imagem seguinte

appStore

Com o Bump acabou-se o “stress” de configurar os smartphones para partilharem informação entre eles. Basta ter o bump instalado e a correr (no Android ou iPhone) e fazer o “bump” entre eles.

Homepage:Bump

Extensão Chrome: Speechify

Extensão Chrome: Speechify

Criado por Pedro Simões em 27 de Março de 2011 | 6 comentários

As novidades que o Google Chrome disponibiliza são depressa aproveitadas por quem desenvolve extensões. Ainda esta semana foi disponibilizada a versão Beta 11 e que traz o suporte para HTML5 Speech Recognition e já aparecem extensões que conseguem dar esta funcionalidade à maioria dos motores de busca, apesar de estes ainda não o suportarem.

Com o  Speechify vão poder ditar o que pretendem pesquisar para o vosso browser e este dará os resultados que procuram. Apenas necessitam de carregar no ícone do microfone que será apresentado junto a todas as caixas de pesquisa.

O Speechify consegue adicionar esta funcionalidade à maioria dos motores de pesquisa que estão actualmente na Internet. São suportadas as pesquisas no Gogole, no Bing, no Yahoo e em muitos outros. Se quiserem passam a poder pesquisar no Pplware sem recorrerem ao teclado.

Basta ditar o texto e tudo será tratado de forma automática. Infelizmente a conversão de voz para texto está baseada em inglês e a maioria das palavras ditas em português não são compreendidas. No idioma inglês tudo se processa de forma muito correcta.

Depois de instalado o Speechify, passamos a ter junto das caixas de pesquisa um pequeno microfone que podemos usar para chamar o Speechify. Abre-se uma pequena caixa e podemos começar a falar para que o nosso áudio seja convertido em texto. Devem falar pausadamente e de forma clara, pois assim o Speechify consegue entender melhor o que lhe foi dito.

Outra funcionalidade interessante que o Speechify disponibiliza é a capacidade de colocarmos Tweets directamente a partir de áudio que indiquemos. Basta carregarmos no ícone que fica disponível no zona de extensões do Chrome e podemos então aceder a esta função.

Basta mais uma vez carregar no microfone e quando este indicar que está preparado podemos começar a ditar o que pretendemos ver escrito. Mais uma vez tudo se processo de forma automática, devendo apenas ter em atenção se o texto que o Speechify detectou está certo.

O Speechify é uma excelente extensão e será muito útil para conseguirmos agilizar a utilização do browser. Lamentavelmente ainda não entende de forma correcta o nosso Português e por isso é propenso a erros na interpretação.

Esta extensão é muito similar a outra que j apresentámos aqui no Pplware. O Voice Search foi na altura testado e também ele fazia uso desta função no Google Chrome, mas na altura que a apresentámos o suporte para o HTML5 Speech Recognition era ainda muito rudimentar e tinha de ser activado de forma manual. Agora com a disponibilização desta função de forma nativa na versão Beta 11 do Chrome tudo fica mais fácil.

Usem o Speechify para pesquisarem nos vossos motores de busca preferidos ou para introduzirem conteúdo em caixas de texto, sem terem de tocar no teclado. Testem e vão com certeza ficar agradados.

O Speechify requer para funcionar que tenham instalado pelo menos a versão Beta 11 do Chrome ou outra versão mais recente (Dev, Canary ou Chromium).

Veja aqui mais extensões e aplicações Chrome

    Leia mais informação sobre plugins Chrome no Forum Pplware: Google Extensions e Google Chrome

    Download: Speechify 1.3
    Homepage: Speechify

    DropPages – Criar um site no Dropbox de forma simples

    DropPages – Criar um site no Dropbox de forma simples

    Criado por Pedro Simões em 28 de Março de 2011 | 21 comentários

    Falar do Dropbox aqui no Pplware é recordar e descobrir um vasto conjunto de ferramentas e de funções que achamos simplesmente fenomenais e obrigatórias. É uma forma diferente de ter um serviço simples, mas ao mesmo tempo imprescindível. São muitas e variadas as propostas que vos apresentámos para adicionar ao serviço principal.

    Uma das que mais gozo me deu escrever, e porque é uma função inerente ao próprio serviço e que não foi com certeza planeada, foi a possibilidade de alojarmos pequenos sites. Não é difícil criar no Dropbox um site, mas agora ficou ainda mais fácil com o aparecimento do DropPages.

    Se bem se recordam do que publicámos, bastava colocar os ficheiros html numa pasta pública e estavam expostos ao mundo. Era no entanto importante que quem o fizesse tivesse um mínimo conhecimento sobre html e, se pretendesse usar, sobre CSS. Existe sempre a limitação de não serem suportadas linguagens de compilação do lado do servidor, tais como o php ou outras.

    Infelizmente o endereço que é disponibilizado para acesso ao vosso site é um pouco confuso e difícil de decorar. A solução proposta era criarem um endereço no bit.ly, o que na altura era óptima.

    Por forma a contornar alguns destes problemas e para simplificar o processo de criação de sites dentro do DropBox, foi criado o serviço DropPages. Com este novo serviço o processo de criação de HTML deixa de ser necessário e os utilizadores apenar têm de criar ficheiros de texto, com recurso à sintaxe Markdown. Esta linguagem é parecida com a que é usada para criar páginas em Wikis e é extremamente simples de entender e de aplicar.

    Por forma a dar alguma beleza imediata aos sites que vão criar e para vos retirar o processo de estarem a criar uma imagem do vosso agrado, são disponibilizados três templates que devem usar para criar o vosso site.

    O processo de criação é extremamente simples. Em primeiro lugar descarregam um desses três templates e colocam-no numa pasta do vosso DropBox. O nome da pasta que criarem para partilhar com o DropPages é extremamente importante. Será esse o endereço que vai ser público para o vosso site. No nosso caso escolhemos pplware.droppages.com.

    Depois de criada a pasta devem partilhar com o serviço DropPages. Basta que adicionem o endereço server1@droppages.com à partilha e esperem que ele vos aceite.

    Enquanto aguardam a resposta podem ir tornando o site mais a vosso gosto. Para isso acedam à pasta e preparem-se para editar os conteúdos. Existem dentro dessa pasta outras três que contêm o seguinte:

    • Content – Aqui deverão colocar o vosso conteúdo. Um ficheiro por página e se pretenderem ter secções devem criar pastas e aí dentro colocar os ficheiros. Lembrem-se que deve sempre existir um ficheiro index dentro da pasta e das sub-pastas. Os ficheiros podem ter a extensão txt.
    • Templates – Esta é a pasta onde está o template e todas as suas definições. Alberga o esquema das páginas que vão ser criadas. Podem alterá-lo para terem uma página mais personalizada.
    • Public – É aqui dentro que está o vosso conteúdo público, tal como o CSS, o JavaScript e as imagens. Alterem o CSS se tiverem confiança para tal.

    Ao receberem a mensagem a indicar que a partilha da pasta foi aceite pelo DropPage a vossa página está pública. Este serviço tem a vantagem de não necessitarem de qualquer conta ou acesso FTP, de terem várias cópias (no vosso PC, no DropBox e no DropPages) e de ser extremamente simples de criar ou editar as vossas páginas.

    Testem o serviço e criem os vossos sites. Criem um para alojar as vossas fotos, o vosso CV ou apenas para partilharem com amigos o que bem entenderem. O Pplware testou e criou um pequeno site sem qualquer dificuldade. Acedam-lhe e vejam as potencialidades do DropPages. Demorámos 2 minutos a fazer o que ali podem encontrar.

    Artigos relacionados:

    Download: Temas DropPages
    Homepage: DropPages
    Homepage: DropBox

    Site do MySQL atacado via SQL Injection

    Site do MySQL atacado via SQL Injection

    Criado por Pedro Pinto em 29 de Março de 2011 | 42 comentários

    Parece que o feitiço se virou contra o feiticeiro, mas segundo informação disponibilizadas no site Techie Buzz, a página oficial do projecto MySQL (motor de base de dados bastante popular) foi atacado através de um mecanismo denominado de SQLInjection (alguns sites referem que foram utilizados mecanismos mais elaborados como XSS e blind SQLi).

    Ao que tudo indica, além do ataque ter sido efectuado com sucesso foram ainda “roubados” dados importantes da empresa. O ataque ao que consta foi realizado através de uma página de consulta de cliente, tendo já sido divulgadas algumas passwords, inclusive a de um Director de produtos do MySQL com apenas 4 dígitos. Algumas passwords de administradores do serviço blogs.mysql.com foram também já tornadas públicas.

    sql_injection

    Mas como funciona um ataque de SQL Injection?

    O SQL injection tal como o nome indica é um mecanismo que permite  “injectar” instruções SQL dentro de uma consulta (query) realizada à base de dados. Desta forma, o hacker pode “construir” a query SQL e obter informações privilegiadas que se encontram guardadas na base de dados (ex. passwords de utilizadores).

    Imaginem por exemplo um formulário HTML para autenticação de um utilizador num determinado site. Depois do utilizador carregar no botão enviar, é executado no MySQL a seguinte query SQL:

    SELECT user,passwd FROM users WHERE user = 'pplware' AND passwd='123456'

    Os dados user e passwd são passados via POST numa query do tipo:

    SELECT user,passwd FROM users WHERE user = '$user' AND passwd='$passwd';

    Agora imaginem que é um hacker e que no campo password colocou:

    '123456';DROP TABLE users;

    Neste caso a query ficava algo do tipo:

    SELECT user,passwd FROM users WHERE user =  'pplware' AND passwd='123456';DROP table users;

    Veja uma demonstração de como funciona o mecanismo SQL Injection:

    Caso seja um utilizador com conta no site mysql.com é aconselhável que proceda rapidamente à alteração da sua password.