Instalando eclipse pulsar + WTK with CLDC no ubuntu linux

The CookBook. Play!!!

Primeiramente vamos instalar o ambiente de execução e o kit de desenvolvimento Java SE. A versão SDK e JRE que eu optei para o desenvolvimento é a openjdk-6-jre mantida pela comunidade de software livre. Mais informações no link: http://openjdk.java.net/

Instalando jre + jdk versão 6

Abra seu console e execute os seguintes comandos

Sudo apt-get install update
Sudo apt-get install openjdk-6-jre-headless openjdk-6-jre

Obs: sempre tenha as ultimas versões da sua distribuição no seu computador para que não tenha problemas ao encontrar pacotes para o seu sistema.

Apos instalado vamos verificar se esta tudo ok, digite no console

Java -version
Javac -version

Resultado esperado!

java version “1.6.0_0”
OpenJDK Runtime Environment (IcedTea6 1.6.1) (6b16-1.6.1-1ubuntu3)
OpenJDK Client VM (build 14.0-b16, mixed mode, sharing)
javac 1.6.0_0

JRE e JDK instalado vamo baixar os seguintes pacotes

Eclipse pulsar for mobiles developers :
http://www.eclipse.org/downloads/

Sun Java Wireless Toolkit 2.5.1 for CLDC Download
http://www.oracle.com/technetwork/java/download-2-5-1-138417.html

Obs: Se você baixou esses pacotes pelo firefox o diretório padrão é esse:

/home/[seu usuario]/Downloads

Descompacte o eclipse na pasta do seu usuário

/home/[seu usuario]/eclipse

Agora vamos executar o eclipse para ver se esta funcionando direitinho!!!

cd /home/[seu usuario]/eclipse
./eclipse

Abriu??.. se abriu ta funcionando. Hehehehehe

Vamos instalar o Sun Java Wireless Toolkit.

Agora crie uma pasta chamada WTK em

/home/[seu usuario]/wtk

Primeiramente vamos a pasta aonde foi feito o download do mesmo.

cd /home/[seu usuario]/Downloads

agora vamos dar permissão de execução para instalarmos.

chmod +X sun_java_wireless_toolkit-2_5_1-linux.bin

agora vamos iniciar a instalação execute o comando

./sun_java_wireless_toolkit-2_5_1-linux.bin

Vai aparecer os termos da licença, aperte a tecla q para pularmos essa parte agora digite yes para iniciar
Vai aparece as seguintes alternativas

0) Specify a path to a Java interpreter directory.
1) Cancel this installation.

Select a choice [0-1]:
Selecione 0 para prosseguimos

Adicione o localpath aonde esta seu SDK no nosso caso é esse:

/usr/lib/jvm/java-6-openjdk/bin

Após isso coloque a seguinte pasta aonde será instalado o wtk

/home/[seu usuario]/wtk

Pronto instalado o wtk.

Abra o eclipse, vá em

menu : Window – Preferences
selecione : Java ME – Device Management – manual install

digite esse endereço e mande procurar

/home/[seu usuario]/WTK/bin

Agora só clicar em finish e pronto ta configurado, só começar a aprender Java ME

Categorias:Uncategorized

Convite

Ola pessoal.

Quem nos conhece sabe que Eu (Gabriel) o Thiago e o Alan, estamos fazendo o Trabalho de  Conclusão de Curso, nao Faculdade para o Curso de Sistema de Informação, e nos decidimos fazer um jogo so usando  ferramentas livres para desenvolver, criamos ate um blog para divulgar  nossos avanços o endereço é:

http://luawar.wordpress.com

Recentemente o Alan acabou de fazer o Scrolling do jogo, ainda há muita coisa a se fazer mais estamos fazendo destemidamente .

A implementacão dele é baseado no seguimento da camera ao personagem principal, ainda não é nenhum scrolling igual o Donkie Kong 3 mas não perde nada na visão, então creio que vai ser este mesmo até o fim.

veja você mesmo o vídeo:

confira mais no blog

http://luawar.wordpress.com

IMPLEMENTANDO A ARQUITETURA MVC COM PHP 5.

Nesse artigo sobre o uso da arquitetura MVC com PHP 5 quero ser o mais simples possível evitando o exagero de termos técnicos para mostrar como implementar a arquitetura na linguagem PHP. Para entender a arquitetura MVC e compreender esse tutorial leia o artigo: Entendendo a arquitetura MVC no link abaixo.
https://bobboy.wordpress.com/2009/07/03/entendendo-a-arquitetura-mvc/
A primeira coisa a se fazer é projetar o software.Conheço vários desenvolvedores, que odeiam projetos de software, ehehee”.

No software iremos cadastrar clientes e mostrar os clientes cadastrados. Para isso criaremos o módulo cliente que tem os seguintes atributos:

+ID //identificação do usuário
+NOME //Nome do usuário

E os seguintes métodos

#setNome(nome) // seta um nome para o cliente
#setID(id) // seta uma identificação para o cliente
+all() // Retorna todos os clientes cadastrados
+intoCliente(cliente) // cadastra um novo cliente

Diagrama de Classe da aplicação.

uml

Como iremos trabalhar com MVC, vamos criar uma pasta para o View, Controll, e Model

Siga a imagem abaixo:
diretorio

Definimos as regras de negócios do Cliente fizemos o projeto agora vamos codificar nossa Class Cliente. Essa class será nosso modelo computacional, dentro da pasta model crie o arquivo class.cliente.php

Codificação

1 <?php
2
3 //inclue o arquivo que faz a conexão com o banco de dados
4 require(../opemDB.php);
5
6 class Cliente {
7
8 public $nome;
9 public $id;
10
11 protected function setCliente($nome)
12 {
13
14 $this->nome = $nome;
15
16 }
17
18 protected function setId($id)
19 {
20
21 $this->id = $id;
22
23 }
24
25 //método que retorna todos os clientes cadastrados
26 public function all()
27
28 {
29
30 $sql = SELECT * FROM `cliente` WHERE 1;
31
32 //executa o SQL
33 $result = mysql_query($sql);
34
35 // o laço percorre todas a posições de um array contendo os dados dos clientes
36 //como nome e id
37
38 while($dados = mysql_fetch_array($result))
39 {
40
41 $cliente = new Cliente(); //<< instancia um objeto cliente para cada cliente que existe
42
43 //objeto cliente chama o método setID e passa os dados como um array de posição id
44 $cliente->setId(array(id => $dados[id]));
45
46 //objeto cliente chama o método setNome e passa os dados como um array de posição nome
47 $cliente->setCliente(array(nome => $dados[nome]));
48
49 //variavel $arr do tipo array para cada nova posição recebe o objeto cliente
50 $arr[] = $cliente;
51
52 }
53
54 //retorna o array com todos os objetos instanciados obs: cada registro um objeto
55 return $arr;
56
57 }
58
59 //método que faz o cadastro de um novo cliente
60 public function intoCliente($cliente)
61 {
62
63 $sql = INSERT INTO `cliente` ( `id` , `nome` ) VALUES (NULL , ‘$cliente‘);;
64 mysql_query($sql);
65
66 }
67
68 }
69
70 ?>

Dentro da pasta MVC que fica acima da pasta Model crie o arquivo opemDB.php, arquivo responsável por toda conexão com o banco de dados. Nesse exemplos estamos usando o MySQL como nosso SGDB. Então crie um banco de dados com as seguintes características abaixo segue um pseudo SQL:

id int (not nul) – autoInc.

nome varchar (not null) 80 caracteres.

Codificação.

1 <?php
2
3 $local =127.0.0.1′;
4
5 $login = ‘root’;
6
7 $senha = ”;
8
9 $banco = ‘mvc’;
10
11 mysql_pconnect($local, $login, $senha);
12
13 mysql_select_db($banco);
14
15 ?>

Dentro da pasta control vamos criar o arquivo, class.control.cliente.php. Arquivo responsável por todo controle de nossa aplicação.

Codificação.

1 <?php
2
3 //inclue a Class cliente.
4
5 require(‘../model/class.cliente.php’);
6
7 class Control {
8
9 public $control;
10
11 //método que faz o controle do método all() da class cliente
12
13 public function Controle()
14
15 {
16
17 //intancia um o objeto da class cliente
18
19 $this->control = new Cliente();
20
21 //retorna o método all() com os registros em formatos de objetos
22
23 //como vimos na class cliente.
24
25 return $this->control->all();
26
27 }
28
29 //método que faz o controle do método intoCliente() da class cliente
30
31 public function cadCliente($nome)
32
33 {
34
35 //recebe um valor na variavel nome se nome vazil retorna uma mensagen de erro
36
37 if($nome == ”) {
38
39 print “Digite seu nome”;
40
41 } else {
42
43 //se o nome não for vazil instancia um objeto da class cliente
44
45 $this->control = new Cliente();
46
47 //chama o método intoCliente enviando o nome();
48
49 $this->control->intoCliente($nome);
50
51 }
52
53 }
54
55 }
56
57 ?>

Dentro da pasta view vamos criar o arquivo, index.php. Arquivo é o modelo humano de representação do modelo computacional.

Codificação.

1 <?php
2
3 //inclue a class Control no view
4
5 require(‘../control/class.control.cliente.php’);
6
7 $nome = $_POST[nome];
8
9 //instancia um objeto da class control
10
11 $cad = new Control();
12
13 //chama o método para cadastrar um novo cliente enviando seu nome
14
15 $cad->cadCliente($nome);
16
17 ?>
18
19 <table cellpadding=3″ cellspacing=3>
20
21 <form method=”post” action=”index.php”>
22
23 <tr>
24
25 <td width=67″ bgcolor=#99CC00″>NOME</td>
26
27 <td width=168″ bgcolor=#99FF00″><input type=”text” /></td>
28
29 </tr>
30
31 <tr>
32
33 <td width=67″ bgcolor=#FFFFFF”>&nbsp;</td>
34
35 <td width=168″ bgcolor=#FFFFFF”><input name=”enviar” value=”enviar” /></td>
36
37 </tr>
38
39 </form>
40
41 </table>
42
43 <table cellpadding=3″ cellspacing=3>
44
45 <tr>
46
47 <td width=21″ bgcolor=#99CC00″>ID</td>
48
49 <td width=214″ bgcolor=#99FF00″>NOME</td>
50
51 </tr>
52
53 <?php
54
55 //instancia um novo objeto da class Control
56
57 $c = new Control();
58
59 //chama o método controle que retorna todos os registro dos clientes
60
61 $arr = $c->Controle();
62
63 //um laço que percorre todos os registro
64
65 // count($arr) retorna a quantidade de registros
66
67 for ($i = 0; $i < count($arr); $i++)
68
69 {
70
71 ?>
72
73 <tr>
74
75 <td>
76
77 <?php
78
79 //imprime o id do cliente dentro da selula da tabela
80
81 print $arr[$i]->id[id];
82
83 ?>
84
85 </td>
86
87 <td>
88
89 <?php
90
91 //imprime o nome do cliente dentro da selula da tabela
92
93 print $arr[$i]->nome[nome];
94
95 ?>
96
97 </td>
98
99 </tr>
100
101 <?php
102
103 }
104
105 ?>
106
107 </table>

Abra seu navegador de internet e digite: http://127.0.0.1/mvc/view/index.php e verá a seguinte imagen:

img

Agora você criou sua primeira aplicação usando MVC para web com PHP 5. para finalizar vou fazer alguns comentários

Na class control aonde é feito todo o controle de nossa aplicação um exemplo prático é o método cadCliente($nome), faz todo controle como verifificação se tudo estiver ok ele cria uma instancia do Model que no nosso caso é a class Cliente e faz o cadastro de um novo cliente. O objetivo central da arquitetura MVC como podemos observar é separar a visualização do modelo através do controle. Isso se resume em produtividade e facilidade na manutenção e portabilidade do código pos se um dia você quiser que o nome maria não seja incluído você faz essa verificação somente no controle sem alterar a visualização e nem o modelo computacional.

Vamos entender o $arr[$i]->nome[‘nome’];

$arr[$i] contem um objeto que é o objeto Cliente e através dele chama o atributo nome que é um array que tem uma posição nome.

Espero ter ajudado!!!.. Qual quer informação, elogio, reclamação é só dar sua opinião😉

Abraços..

Entendendo a arquitetura MVC

MVC “modelo de visualização e controle” é um dos paradigmas de arquiteturas de software mais utilizados hoje. Tanto web como desktop, porem existe mais evidencia na web pela quantidade de frameworks como: JSF, OnRail’s, CakePHP, Django etc.

Vamos entender o que é MVC e quem criou.

MVC foi criado por: Trygve MH Reenskaug, e implementado primeiramente na linguagem SmallTalk.

Criei o Model-View-Controller padrão como uma solução óbvia para o problema geral que os usuários passavam para o controle de  suas informações,que pode ser  visto a partir de múltiplas perspectivas – Trygye”.

O objetivo essencial do MVC é preencher a lacuna entre o usuário, modelo mental humano do modelo computacional, criando a impressão que o usuário manipule os dados do domínio diretamente.

MVC - Model

MVC - Model

Model – Modelo

A representação “domínio” específica da informação em que a aplicação opera. Por exemplo, Cliente fazem parte do domínio de um sistema de eCommerce. É também conhecido como regras de negócio, exemplo em um eCommerce o cliente pode comprar e fazer um cadastro de usuário. No modelo fica apenas a representação computacional desses métodos comprar e cadastro, nada que o usuário comum possa entender, como um código compilado ou um script de alguma linguagem.

View – Visualização

“Renderiza” o modelo na forma que o modelo mental humano possa entender e interagir para controlar informações. Poder comprar e fazer um cadastro em nosso eCommerce

Controller – Controle

É a ponte que liga a é o que liga a visualização ao modelo. Ele faz validações e verificações para saber qual modelo controlar, ele faz a transformação do modelo computacional em um modelo humano.

Porque utilizar MVC.

Digamos que você tem sua aplicação usando arquitetura MVC voltado para web, tem o layout que é o View a representação do modelo humano depois você tem o controle e depois você tem o modelo. Se você alterar seu layout criar uma nova interface nada altera as regras de negocio do seu sistema ou modelo computacional e é a mesma coisa com o modelo computacional se alguma regra de negocio muda não prejudica o modelo humano a visualização do usuário.

Então porque usar? Simples!, para maior controle e manutenção dos seus produtos de software, resumindo em produtividade.

Referencias:

http://folk.uio.no/trygver/

http://pt.wikipedia.org/wiki/MVC

Presidente Lula afavor do software livre

Lula no FILS

Lula no FILS

“Agora que o prato está feito, é muito fácil a gente comer. Mas fazer esse prato não foi brincadeira. Eu lembro da primeira reunião que nós fizemos, na Granja do Torto, em que eu entendia absolutamente nada da linguagem que esse pessoal decidia, e houve uma tensão imensa entre aqueles que defendiam a adoção do Brasil do software livre e aqueles que achavam que nós deveríamos fazer a mesmice de sempre, ficar do mesmo jeito, comprando, pagando a inteligência dos outros e, graças a Deus, prevaleceu no nosso país a questão e a decisão do software livre. Nós tínhamos que escolher: ou nós íamos para a cozinha preparar o prato que nós queríamos comer, com os temperos que nós queríamos colocar e dar um gosto brasileiro na comida, ou nós iríamos comer aquilo que a Microsoft queria vender para a gente. Prevaleceu, simplesmente, a ideia da liberdade.

Eu queria contar aqui uma coisa, porque prevaleceu, na minha cabeça, a questão do software livre. Vocês sabem que eu nunca fui comunista. Quando me perguntavam se eu era comunista, eu falava que eu era torneiro mecânico. Mas eu tenho extraordinários companheiros que participaram da luta armada neste país, companheiros que pertenceram aos mais diferentes partidos e correntes ideológicas do mundo, todos extraordinários companheiros. Eu tinha um irmão mais velho que, a vida inteira tentou me levar para o Partidão, e o meu irmão trazia para mim, acabados, todos os documentos que tinham sido escritos e produzidos 200 anos atrás ou 150. O meu irmão queria que eu decorasse O Manifesto, queria que eu lesse e relesse O Capital, queria que eu discutisse tudo isso, e eu dizia para o meu irmão: Frei Chico, tudo isso foi produzido tanto tempo atrás. Não dá para a gente começar a produzir alguma coisa nova a partir de agora?”

Veja o discurso compleno no link abaixo:
http://softwarelivre.org/portal/fisl10/escute-e-leia-na-integra-o-discurso-do-presidente-lula-no-fisl-10

Categorias:Uncategorized Tags:, , ,

Será o Fim do Mouse?

Tava vendo uns blogs vendo uns filmes futuristas, viva Matrix, mas a trilogia de Neo não representa esse post o filme que me deu inspiração foi o Memority Report em que Tom Cruise como John Anderton estuda os possíveis casos de assassinato usando o seu grandioso monitor Touch Screen, e pensei em fazer esse post  pra refletir sobre o futuro incerto do mouse.

Mouse, Michey Mouse

A tecnologia Touch Screen tornou os monitores sensíveis ao toque. A tela é formado por vários emissores e receptores, que comunicam-se continuamente, tanto na horizontal quanto na vertical. Ao tocar a tela, interrompe-se a comunicação entre alguns, fazendo com que a posição do toque seja percebida.

Então me peguei imaginando: “poxa o mouse está com os dias contados”  uma ferramenta que mudou drasticamente o jeito de interagir com o computador, que antes a única interação era pelo teclado mudou para algo simples como clicar, arrastar, apontar e puxar,  agora vai perder seu lugar pra o dedo. Mas pense bem o principio é o mesmo: você aponta e aperta. Mas se o mouse esta para perder espaço para o touch então o teclado também está perigando, já que agora tudo estará embutido no monitor porque não o teclado.

veja um exemplo:

A onda a muito tempo é tirar os fios do computador, quem sabe até tirar o fio da energia Ai! Ai! Futuro jovem, futuro. Primeiro veio os teclados e mouse sem fio, mas a criatividade de uma mente brilhante, como a do ser humano, nunca termina então criou a tecnologia Touch Screen. Com certeza essas duas ferramentas estão prestes a serem substituídas.

Claro que as telas também tende a aumentar pois com telas pequenas você podia contar com a precisão do pequeno ponteiro do mouse, mas é claro que você também pode utilizar uma espécie de caneta pra interagir com a tela mas pra min nada melhor que ter um telão em e controlá-lo como nos filmes como se tivesse dentro do computador. Que por sinal entrar no computador, como Neo, também é um dos meus sonhos, mas acho que esse entra pra categoria dos quase impossíveis.

Mais quem não sonhou em um dia fazer como John Anderton tocando na tela jogando janelas pra um lado e pro outro como se você tocasse nos programas, com certeza esse está na minha lista de sonho a serem realizados. Estou guardando um dinheirinho para comprar o meu.

Com o avanço das placas de vídeo e dos softwares agora isso pode se tornar real.

Escrito por: Gabriel Vedana Queiroz T.I – Tecnologia da Informação.

Blog projeto LuaWar

Foi criado pelo Alan, o blog do projeto lua, uma engine para desenvolvimentos de jogos 2D para UNIX/Linux de licença GPL. No blog postaremos sobre o projeto, para que outras pessoas, intereçadas no assunto “GAMES”, possa usufruir e colaborar nesse projeto.
Falaremos sobre o conceito de desenvolvimento de jogos as ferramentas e bibliotecas que usamos como: Posix Thread’s, SDL, STL, C++, LUA, KDvelop, umbrello e por ai vai.
Abraços acompanhem o blog😉

Abaixo segue o link:

http://luawar.wordpress.com

Categorias:Uncategorized Tags:, ,