Vizualizar Versão Completa : [Tutorial] - Desenvolvendo aplicativos nativos para o a1200.


Liine meksquer
28-12-2009, 05:54 PM
Preparando o ambiente

O que você irá encontrar neste tutorial:

1. Programas nescessários.
2. Passo a passo.
3. Compilando seu primeiro programa.


1. Programas nescessários:
Cygwin ( http://www.*******.com/file/15013233/511dfd05/Cygwin_setup.html?s=1 (http://www.*******.com/file/15013233/511dfd05/Cygwin_setup.html?s=1) )
Aplicativo já configurado (http://www.**********.com/?d=I0IKPSW6)
NotePad++ (este não é obrigatório, mas é bom ter um bom editor de texto para criar ou editar códigos)
Bibliotecas adicionais (http://www.**********.com/ru/?d=3UP6S01W) (algumas bibliotecas adicionais para compilação)

2. Passo a passo.

1. Execute a instalação do cygwin e vá dando avançar sem se preocupar com configuraçoes (a pasta do Dimitriz já deixa o programa do geito que é nescessário).

2. Após a instalação (considerando que fez a instalação padrão e o instalou e "c:\cygwin") estraia a pasta já configurada upada pelo Dimitriz em "c:\" e mande substituir tudo.

3. Copie o arquivo baixado pelo link do Lubomyr para a pasta "c:\cygwin"

4. Execute o programa pelo icone criado na área de trabalho.

5. com o programa aberto digite:

cd /
tar -C /usr/local/ -xzvf /games-env-cygwin.tar.gz

O arquivo será descompactado (pode demarar um pouquinho)

6. Depois digite:

source /home/esouza/setenv-a1200.sh
tmake

Se a resposta pelo console for esta:

$ tmake
Usage:
tmake [options] project-files
Options:
-e expr Evaluate expression, ignore template file
-nodepend Don't generate dependency information
-o file Write output to file
-t file Specify a template file
-unix Create output for Unix (auto detects)
-v Verbose/debug mode
-win32 Create output for Win32 (auto detects)

Seu sistema já está pronto para compilaçao:

OBS: O passo 6 deverá ser executado após cada inicialização do sistema.


3. Compilando seu primeiro programa.

Abra o cygwin e digite os seguintes comandos para criar os diretórios.

cd /
mkdir src
mkdir /src/olagsmfans

Abra o notepad++ (ou o editor de textos de sua preferência).

Abra 3 abas.

Na primeira digite o seguinte código e salve como main.cpp no diretório criado


//olagsmfans : main.cpp

#include <ZApplication.h>
#include "olagsmfans.h"

int main( int argc, char** argv )
{
ZApplication app( argc, argv );
olagsmfans *mw = new olagsmfans();

app.showMainWidget(mw);
return app.exec();
}
[/QUOTE]


Na segunda digite o seguinte código e salve como olagsmfans.h no diretório criado (olagsmfans).



//olagsmfans : olagsmfans.h

#ifndef __OLAGSMFANS__
#define __OLAGSMFANS__

#include <ZMainWidget.h>
#include <ZApplication.h>

class UTIL_CST;
class QLabel;

class olagsmfans : public ZMainWidget
{
Q_OBJECT
public:
olagsmfans();
~olagsmfans();

private:
QLabel *title;
QLabel *contentLabel;
UTIL_CST *cst;
};
#endif //__OLAGSMFANS__


Na terceira digite o seguinte código e salve como olagsmfans.cpp no diretório criado (olagsmfans).


[QUOTE]//
olagsmfans : olagsmfans.cpp

#include <ZApplication.h>
#include <ZMainWidget.h>
#include <ezxutilcst.h>
#include <ZPushButton.h>
#include <qlabel.h>

#include "olagsmfans.h"

olagsmfans:: olagsmfans()
: ZMainWidget( false, NULL, NULL, 0 )
{
title = new QLabel( "Exemplo - GSMFans", this );
title->setScaledContents( TRUE );
setTitleBarWidget( title );

cst = new UTIL_CST ( this, "GSMFans" );
setCSTWidget( cst );

ZPushButton *btn = cst->getRightBtn();
connect( btn, SIGNAL( clicked() ), qApp, SLOT( slotQuickQuit() ) );

contentLabel = new QLabel( "Este é um exemplo de programa.\n Craudião.\n Visite: www.gsmfans.com.br", this );
contentLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) );
contentLabel->setAlignment( Qt::AlignCenter );
setContentWidget( contentLabel );
}

olagsmfans::~olagsmfans()
{
}


Pronto, o programa já está criado, vamos agora fazer sua compilação:

No cygwin faça: (contando que você já executou o script setenv-a1200.sh e feito o teste para verificar sua funcionalidade)

cd /src/olagsmfans
progen -o olagsmfans.pro
tmake olagsmfans.pro -o Makefile
make

A compilação será feita.

Vamos ou teste copie o arquivo criado (olagsmfans) para a raiz de seu TF.
Execute o aplicativo pelo EKonsole com o comando:

cd /
./mmc/mmca1/olagsmfans

Pronto.
O programa irá se abrir.

Créditos: GsmFans

guinho w.a
28-12-2009, 06:00 PM
Boa Line, mas qual a finalidade deste programa?

Até..

Liine meksquer
28-12-2009, 06:02 PM
Boa Line, mas qual a finalidade deste programa?

Até..
Na verdade, este é tipo um exemplo.
Serve para Desenvolvimento de
Aplicativos Nativos do próprio A1200

guinho w.a
28-12-2009, 08:06 PM
Na verdade, este é tipo um exemplo.
Serve para Desenvolvimento de
Aplicativos Nativos do próprio A1200
Humm entendo. :)

Até..

Aleexx2
28-12-2009, 08:38 PM
Algumas coisas eu ja entendo de programação, vou começar a cursar C++ mais estou lendo muito sobre Bash e Shel Scrypt quem sabe eu não aprenda e desenvolva pros Androids :D

Liine meksquer
29-12-2009, 10:25 AM
Algumas coisas eu ja entendo de programação, vou começar a cursar C++ mais estou lendo muito sobre Bash e Shel Scrypt quem sabe eu não aprenda e desenvolva pros Androids :D

Olha... Alex tá evoluindo :D

guinho w.a
29-12-2009, 10:54 AM
Algumas coisas eu ja entendo de programação, vou começar a cursar C++ mais estou lendo muito sobre Bash e Shel Scrypt quem sabe eu não aprenda e desenvolva pros Androids :D

Você consegue sim maninho, basta estudar um pouco, você é inteligênte. ;)

Até..

Gurx
11-01-2010, 02:20 PM
2 perguntas:

Quem já tem o sistema Linux instalado (meu caso: dual boot entre Windows XP e Linux), o que precisa baixar ?

Caso que queira pegar o código fonte de um programa, que tenha parte gráfica (um jogo, por exemplo), e desde que não precise de bibliotecas adicionais (para não complicar muito a história), o processo de compilação é o mesmo ou tem alguma coisa a mais ?

Obrigado.

Aleexx2
11-01-2010, 03:16 PM
Apenas o Source não precisa instalar nada a compilação é a mesma desde que não necessite Libs ( Bibliotecas ) meu conhecimento para aqui ;D

Gurx
11-01-2010, 04:01 PM
Apenas o Source não precisa instalar nada a compilação é a mesma desde que não necessite Libs ( Bibliotecas ) meu conhecimento para aqui ;D

Valeu pela dica!!!

Vou ver se faço algumas experiências depois!


Só umais uma coisa: alguém teria uma idéia de quais valores as teclas retornam quando pressionadas ?
É provável que eu tenha que adaptar as rotinas de leitura do teclado, para poder compilar algum jogo minimamente usável....

Ou pelo menos onde eu poderia conseguir esses códigos ?

guinho w.a
11-01-2010, 07:30 PM
Valeu pela dica!!!

Vou ver se faço algumas experiências depois!


Só umais uma coisa: alguém teria uma idéia de quais valores as teclas retornam quando pressionadas ?
É provável que eu tenha que adaptar as rotinas de leitura do teclado, para poder compilar algum jogo minimamente usável....

Ou pelo menos onde eu poderia conseguir esses códigos ?
Tenta os códigos ou API em sites de desenvolvedores de sistemas Linux Mobile, geralmente elles sempre liberam uma nova atualização com base em sistema Linux, no MotoDev por exemplo.

Até..