Quando falamos em dispositivos móveis, lembramo-nos principalmente, do telemóvel. O telemóvel apareceu numa sequência de cerca de 100 anos de invenções cujo objetivo era a comunicação à distância.
A primeira transmissão telefónica com sucesso foi feita por Alexander Graham Bell em 1876. Ele e Thomas Edisson disputaram a corrida que levou à invenção do primeiro telefone.
Logo, em 1877, entrou em operação a primeira linha telefónica comercial.
O telemóvel apareceu apenas quase 100 anos depois do primeiro telefone, acrescentando a mobilidade ao objetivo inicial de falar à distância.
O primeiro telemóvel, analógico, apareceu em 1960. Era grande demais para ser transportado pessoalmente, pelo que tinha que ser instalado em veículos.
Em 1973 apareceu o primeiro telemóvel de mão (analógico).
Apenas em 1977 apareceram as primeiras redes celulares digitais.
Atualmente, os dispositivos móveis, incluindo a maior parte dos telemóveis, dispõe de capacidade de processamento, tendo adicionado o objetivo de computação móvel aos anteriores objetivos de comunicação à distância e de mobilidade.
Atualmente, numa confluência de diversas linhas e diferentes objetivos de investigação, temos telefones IP (VoIP), redes celulares de comutação de pacotes (3G, 4G), dispositivos móveis de diversos tamanhos, fabricantes, e com diferentes sistemas operativos, incorporando sensores, GPS, bússolas eletrónicas, acelerómetro, etc.
O número de subscrições de redes móveis passou de pouco mais de 1000 milhões em 2002, para quase 5000 milhões em 2008.
Temos atualmente 6,8 mil milhões de pessoas no mundo, e mais de 5 mil milhões de assinaturas de redes móveis, 50% dos quais pré-pagos.
Unidades Curriculares apoiadas por este Blog (ESTG-IPVC)
sexta-feira, 17 de agosto de 2012
segunda-feira, 7 de maio de 2012
Primeira Aplicação para o Windows Phone
Neste artigo fazemos uma primeira abordagem ao desenvolvimento de aplicações para Windows Phone.
Para começar, precisamos de instalar o Windows Phone SDK 7.1, o qual vem com um IDE gratuito (Visual Studio Express) e um emulador de Windows Phone, o qual nos permite testar as nossas aplicações antes de as instalar num dispositivo móvel baseado em Windows Phone.
Neste exemplo foi usado o Visual Studio 2010 para o desenvolvimento, mas, claro, o Windows Phone SDK 7.1 precisa na mesma de ser instalado.
Para começar, precisamos de instalar o Windows Phone SDK 7.1, o qual vem com um IDE gratuito (Visual Studio Express) e um emulador de Windows Phone, o qual nos permite testar as nossas aplicações antes de as instalar num dispositivo móvel baseado em Windows Phone.
Neste exemplo foi usado o Visual Studio 2010 para o desenvolvimento, mas, claro, o Windows Phone SDK 7.1 precisa na mesma de ser instalado.
Modelo de Execução do Windows Phone
Antes de começar o desenvolvimento da nossa primeira app, apenas algumas palavras sobre o modelo de execução do Windows Phone:- Apenas uma App pode correr num dado momento em foreground;
- Outras Apps em execução são colocadas pelo sistema operativo (SO) num estado dormente (dormant state);
- Quando a memória do dispositivo não é suficiente, o SO começa a terminar aplicações que estejam no estado dormente.
- Através da sua framework de programação, as aplicações podem gerir o seu estado quando são ativadas ou desativadas. Isto pode ser usado para dar ao utilizador a impressão de que uma aplicação esteve sempre a correr, mesmo quando ela é parada e mais tarde reativada.
Criar um novo Projeto Windows Phone
No Visual Studio (ou Visual Studio Express), criar um novo projeto com o template para "Silverlight for Windows Phone", a tipo Windows Phone Application:
Etiquetas:
Mobile,
Windows Phone
terça-feira, 17 de abril de 2012
Utilização do Hibernate para Java - 2
No artigo anterior vimos como utilizar o Hibernate como camada de middleware entre a estrutura de classes do nosso programa Java e a representação das instâncias dessas classes numa base de dados.
O artigo anterior ilustrou o mapeamento entre uma classe Java e uma tabela da BD, nomeadamente a classe Book e a tabela com o mesmo nome.
Vamos hoje ver como mapear os relacionamentos entre classes, 1-para-N e N-para-N, para a base de dados.
Vamos começar por acrescentar ao nosso modelo (que apenas tinha a classe Book) duas novas classes:
- BookCopy (Um Book contém a informação de um livro, e relaciona-se com vários BookCopy, que correspondem aos exemplares que uma biblioteca tem desse livro) --> relação 1-N.
- Author (Um Book tem vários Author e vice-versa) --> relação N-N.
No projeto Java desenvolvido no post anterior, vamos começar por acrescentar a classe BookCopy e o respetivo ficheiro de mapeamento do Hibernate BookCopy.hbm.xml.
O artigo anterior ilustrou o mapeamento entre uma classe Java e uma tabela da BD, nomeadamente a classe Book e a tabela com o mesmo nome.
Vamos hoje ver como mapear os relacionamentos entre classes, 1-para-N e N-para-N, para a base de dados.
Vamos começar por acrescentar ao nosso modelo (que apenas tinha a classe Book) duas novas classes:
- BookCopy (Um Book contém a informação de um livro, e relaciona-se com vários BookCopy, que correspondem aos exemplares que uma biblioteca tem desse livro) --> relação 1-N.
- Author (Um Book tem vários Author e vice-versa) --> relação N-N.
No projeto Java desenvolvido no post anterior, vamos começar por acrescentar a classe BookCopy e o respetivo ficheiro de mapeamento do Hibernate BookCopy.hbm.xml.
Etiquetas:
Ferramentas ORM,
Hibernate,
Java,
Net Beans
domingo, 15 de abril de 2012
Utilização do Hibernate para Java - 1
O Hibernate é um framework para o mapeamento
objeto-relacional (object-relational mapping) para
a linguagem Java. Facilita o mapeamento das classes, atributos e relacionamentos entre classes entre o modelo de classes de uma aplicação e a sua implementação numa BD relacional. Para definição dos mapeamentos são usados ficheiros XML ou anotações Java.
O Hibernate serve
de middleware entre os objetos Java e a BD
relacional.
Neste artigo, e no próximo, vamos usar a versão Hibernate 3 para ilustrar, com um pequeno exemplo, a utilização do Hibernate num programa Java.
Como sistema de BD vamos usar o Oracle 10g.
Para começar, temos que criar as tabelas da base de dados. No artigo Exemplo de Aplicação Java Swing com BD Oracle - 1 é explicado este processo.
Vamos, neste artigo, mapear apenas a classe BOOK.
Criamos um package para as classes que correspondem às tabelas da BD e criamos a classe Book:
Etiquetas:
Ferramentas ORM,
Hibernate,
Java,
Net Beans
sexta-feira, 23 de março de 2012
Mestrados de Engenharia de Software em Portugal
Lista de Mestrados em Engenharia de Software em Portugal:
- Dual MSc Program - Master of Software Engineering na Universidade de Coimbra (CMU Portugal) - 90 ECTS
- Mestrado em Engenharia de Software na ESTG - Instituto Politécnico de Viana do Castelo - 90 ECTS
- Mestrado em Informática - Especialização em Engenharia de Software na Universidade Portucalense - 120 ECTS
- Mestrado em Engenharia Informática na FEUP - Universidade do Porto - 120 ECTS (várias especializações, entre as quais Engenharia de Software)
- Mestrado em Engenharia Informática e de Computadores no Instituto Superior Técnico - 120 ECTS (várias especializações, entre as quais Engenharia de Software)
- Mestrado em Engenharia Informática na Universidade Nova de Lisboa - 120 ECTS (várias especializações, entre as quais Engenharia de Software)
- Mestrado em Engenharia Informática na Faculdade de Ciências da Universidade de Lisboa - 120 ECTS (várias especializações, entre as quais Engenharia de Software)
- Mestrado em Engenharia Informática e de Computadores no Instituto Superior de Engenharia de Lisboa - 120 ECTS (várias especializações, entre as quais Engenharia de Software)
sábado, 3 de março de 2012
Exemplo de Aplicação Java Swing sem JSR - 2
Neste artigo vamos criar um projeto baseado em Java Swing para desenvolver a interface gráfica com o utilizador (GUI), que complemente o que já foi feito anteriormente, que é tratado em:
- Exemplo de Aplicação Java Swing com BD Oracle - 1 (criação da Base de Dados)
- Exemplo de Aplicação Java Swing com BD Oracle - 2 (projeto HelperDB para acesso à BD)
- Exemplo de Aplicação Java Swing com BD Oracle - 3 (projeto librarySystemBLL / classes da BLL)
- Exemplo de Aplicação Java Swing sem JSR - 1
No NetBeans 7.1, vamos criar um projeto Java Application:
Um projeto Java Application cria automaticamente uma class com o método main().
Na verdade, não precisamos dessa classe, porque vamos criar uma classe JFrame, a qual automaticamente cria um método main() que lança a frame e torna-a visível.
De qualquer forma, e antes de criarmos a JFrame, vamos adicionar as referências necessárias ao nosso projeto. Precisamos de adicionar, nas libraries do projeto, referências para os projetos HelperDB e librarySystemBLL. São também necessárias referências para os JARs "ojdbc" que vêm com o Oracle XE, tal como foi feito anteriormente nos outros dois projetos.
Agora, criamos o JFrame, o qual será a janela principal da aplicação:
- Exemplo de Aplicação Java Swing com BD Oracle - 1 (criação da Base de Dados)
- Exemplo de Aplicação Java Swing com BD Oracle - 2 (projeto HelperDB para acesso à BD)
- Exemplo de Aplicação Java Swing com BD Oracle - 3 (projeto librarySystemBLL / classes da BLL)
- Exemplo de Aplicação Java Swing sem JSR - 1
No NetBeans 7.1, vamos criar um projeto Java Application:
Um projeto Java Application cria automaticamente uma class com o método main().
Na verdade, não precisamos dessa classe, porque vamos criar uma classe JFrame, a qual automaticamente cria um método main() que lança a frame e torna-a visível.
De qualquer forma, e antes de criarmos a JFrame, vamos adicionar as referências necessárias ao nosso projeto. Precisamos de adicionar, nas libraries do projeto, referências para os projetos HelperDB e librarySystemBLL. São também necessárias referências para os JARs "ojdbc" que vêm com o Oracle XE, tal como foi feito anteriormente nos outros dois projetos.
Agora, criamos o JFrame, o qual será a janela principal da aplicação:
Etiquetas:
Java,
Java Swing,
Net Beans
sexta-feira, 24 de fevereiro de 2012
Exemplo de Aplicação Java Swing sem JSR - 1
A partir do NetBeans 7.1, o Swing application framework (JSR) deixou de ser suportado no NetBeans, e deixou de fazer parte do JDK (Java Development Kit) oficial.
Assim, neste artigo e no próximo, vamos fazer uma pequena aplicação Java com classes Swing, sem recorrer ao Swing application framework.
Iremos fazer uso das camadas aplicacionais desenvolvidas em:
- Exemplo de Aplicação Java Swing com BD Oracle - 1 (criação da Base de Dados)
- Exemplo de Aplicação Java Swing com BD Oracle - 2 (projeto HelperDB para acesso à BD)
- Exemplo de Aplicação Java Swing com BD Oracle - 3 (projeto librarySystemBLL / classes da BLL)
Assim, depois de criada a base de dados (BD) e termos os projetos HelperDB e librarySystemBLL, iremos criar um novo projeto (librarySystemGUI) para a interface com o utilizador.
Vamos, antes, mostrar como se pode importar um projeto no NetBeans, dadas apenas as sources Java desenvolvidas noutro IDE.
Etiquetas:
Java,
Java Swing,
Net Beans
quinta-feira, 23 de fevereiro de 2012
Aplicações desktop baseadas em Java Swing, a partir do NetBeans 7.1
Nos artigos
- Exemplo de Aplicação Java Swing com BD Oracle - 1
- Exemplo de Aplicação Java Swing com BD Oracle - 2
- Exemplo de Aplicacao Java Swing com BD Oracle - 3
- Exemplo de Aplicacao Java Swing com BD Oracle - 4
desenvolvemos uma pequena aplicação exemplo, para desktop, usando Java/JavaSwing.
Para isso usámos o NetBeans IDE, e criámos, para a Interface com o Utilizador, um projeto do tipo Java Desktop Application.
A partir do NetBeans 7.1, no entanto, o Swing application framework deixou de ser suportado no NetBeans, e deixou de fazer parte do JDK (Java Development Kit) oficial. Já no NetBeans 7.0.1, a seguinte mensagem aparecia sempre que se criava um projeto do tipo Java Desktop Application:
No NetBeans 7.1 temos duas alternativas:
Posteriormente trataremos da segunda opção.
- Exemplo de Aplicação Java Swing com BD Oracle - 1
- Exemplo de Aplicação Java Swing com BD Oracle - 2
- Exemplo de Aplicacao Java Swing com BD Oracle - 3
- Exemplo de Aplicacao Java Swing com BD Oracle - 4
desenvolvemos uma pequena aplicação exemplo, para desktop, usando Java/JavaSwing.
Para isso usámos o NetBeans IDE, e criámos, para a Interface com o Utilizador, um projeto do tipo Java Desktop Application.
A partir do NetBeans 7.1, no entanto, o Swing application framework deixou de ser suportado no NetBeans, e deixou de fazer parte do JDK (Java Development Kit) oficial. Já no NetBeans 7.0.1, a seguinte mensagem aparecia sempre que se criava um projeto do tipo Java Desktop Application:
No NetBeans 7.1 temos duas alternativas:
- Criar uma aplicação de raíz, ou
- Criar um projeto Netbeans Platform Application
Posteriormente trataremos da segunda opção.
Etiquetas:
Java,
Java Swing,
Net Beans
sexta-feira, 17 de fevereiro de 2012
Primeiro exemplo com o Eclipse Modeling Framework (EMF) - 3
No artigo anterior criámos um modelo de domínio de um sistema de gestão de biblioteca, e gerámos as classes Java, usando o Eclipse Modeling Framework (EMF).
Vamos, agora, testar essas classes através de um novo projeto Eclipse, que referencia o projeto com as classes geradas.
Assim, criamos um novo projeto de Plug-in:
File --> Create --> New --> Project... --> Plug-in Project.
E, no folder src, criamos uma nova classe com o stub de método main:
E criamos, no método main(), criamos algumas linhas de código:
Isto é apenas o começo. Agora deverá criar instâncias das restantes classes, relacioná-las e inquirir sobre o valor de atributos de objetos e de relações.
Artigos relacionados:
- Primeiro exemplo com o Eclipse Modeling Framework (EMF) -1
- Primeiro exemplo com o Eclipse Modeling Framework (EMF) - 2
Vamos, agora, testar essas classes através de um novo projeto Eclipse, que referencia o projeto com as classes geradas.
Assim, criamos um novo projeto de Plug-in:
File --> Create --> New --> Project... --> Plug-in Project.
E, no folder src, criamos uma nova classe com o stub de método main:
E criamos, no método main(), criamos algumas linhas de código:
package javaUsingEMFModel.LibrarySystem;
import org.eclipse.emf.ecore.*;
import LibraryModel.*;
import LibraryModel.impl.*;
import LibraryModel.util.*;
public class MainClass {
public static void main(String[] args) {
import org.eclipse.emf.ecore.*;
import LibraryModel.*;
import LibraryModel.impl.*;
import LibraryModel.util.*;
public class MainClass {
public static void main(String[] args) {
// Inicializar o LibraryModelPackageImpl
LibraryModelPackageImpl.init();
LibraryModelPackageImpl.init();
LibraryModelFactory factory = LibraryModelFactory.eINSTANCE;
// Criar um livro (Book)
Book book = factory.createBook();
// Criar um livro (Book)
Book book = factory.createBook();
// Atribuir um título ao livro
book.setTitle("Os Lusiadas");
// Criar um Autor (Author) e definir o seu nome e sobrenome
Author author1 = factory.createAuthor();
author1.setName("Luis");
author1.setSurname("Camoes");
// Atribuir esse autor ao livro criado anteriormente
book.getAuthors().add(author1);
System.out.println(book.getTitle());
}
}
book.setTitle("Os Lusiadas");
// Criar um Autor (Author) e definir o seu nome e sobrenome
Author author1 = factory.createAuthor();
author1.setName("Luis");
author1.setSurname("Camoes");
// Atribuir esse autor ao livro criado anteriormente
book.getAuthors().add(author1);
System.out.println(book.getTitle());
}
}
Artigos relacionados:
- Primeiro exemplo com o Eclipse Modeling Framework (EMF) -1
- Primeiro exemplo com o Eclipse Modeling Framework (EMF) - 2
Subscrever:
Mensagens (Atom)