Pra quem pensa que nesse blog só sai artigo sobre Android... Vocês tem uma grande parcela de razão :) Então hoje vou variar um pouquinho e falar sobre a plataforma bada da Samsung. Depois faremos um "Hello World"!
bada é o sistema operacional desenvolvido pela Samsung projetado para cobrir tanto os celulares "top de linha" quanto celulares mais modestos da compania. A empresa afirma que bada irá rapidamente substituir sua plataforma proprietária para "feature phones", transformando esse tipo de aparelho em smartphones.
Para iniciar o desenvolvimento com a plataforma devemos acessar http://developer.bada.com, se registrar gratuitamente e fazer o download do SDK. O instalador do SDK é bem simples, e o bacana é que diferentemente do Android, não precisamos baixar o Eclipse, baixar SDK, instalar plugin... Tudo é instalado e configurado junto.
A IDE é baseada em Eclipse e é uma extensão do CDT que permite o desenvolvimento C/C++ . Dentro da IDE temos compilador, debugger e a visualização da aplicação através de um simulador.
Vamos criar o primeiro projeto. Acesse o menu File > New > bada Application Project, digite "HelloWorld" no nome do projeto, selecione "bada Form Based Application", e clique em "Finish" (existem diversas configurações se clicar em Next, mas vou deixar pra um próximo post). Será criada a seguinte estrutura do projeto:
- Include: bibliotecas do bada;
- inc: ficarão os arquivos de cabeçalho (extensão .h);
- src: arquivos de implementação (extensão .cpp);
- Home: arquivos de escrita e leitura utilizados pela aplicação;
- Res: Arquivos de recursos.
Agora, abra o arquivo Form1.h e deixe a seção "protected" como abaixo:
// Implementation
protected:
static const int ID_BUTTON_OK = 101;
Osp::Ui::Controls::Button *__pButtonOk;
Osp::Ui::Controls::Label *__meuLabel;
Osp::Ui::Controls::EditField *__meuEdit;
No arquivo Form1.cpp, fica a implementação do comportamento da classe. No método OnInitializing, vamos realizar a ligação entre o código-fonte e os componentes que adicionamos ao formulário. Deixe-o conforme abaixo:
result
Form1::OnInitializing(void)
{
result r = E_SUCCESS;
// TODO: Add your initialization code here
// Get a button via resource ID
__pButtonOk = static_cast<Button *>
(GetControl(L"IDC_BUTTON_OK"));
__meuLabel = static_cast<Label *>
(GetControl(L"IDC_LABEL1"));
__meuEdit = static_cast<EditField *>
(GetControl(L"IDC_EDITFIELD1"));
if (__pButtonOk != null)
{
__pButtonOk->SetActionId(ID_BUTTON_OK);
__pButtonOk->AddActionEventListener(*this);
}
return r;
}
Notem que inicializamos os componentes com o método GetControl passando uma String. Essa String representa o ID do componente. Depois, associamos um evento ao botão, que é tratado pela própria classe pelo método OnActionPerformed. Deixe-o conforme abaixo:
void
Form1::OnActionPerformed(const Osp::Ui::Control& source, int actionId)
{
switch(actionId)
{
case ID_BUTTON_OK:
{
AppLog("OK Button is clicked! \n");
__meuLabel->SetText(
__meuEdit->GetText().GetPointer());
__meuLabel->RequestRedraw(true);
}
break;
default:
break;
}
}
A maioria do código já foi implementado pelo plugin, o que fizemos aqui foi definir o texto do label de acordo com o que o usuário digitou na caixa de texto e logo após, solicitar o redesenho do componente. Feito isso, clique com o botão direito sobre o projeto e selecione "Run as > bada Simulator Application". A aplicação deve ficar como na figura abaixo:
Estou começando a aprender essa nova plataforma. Mais informações aqui. O que acharam? Deixem seus comentários.
4br4ç05,
nglauber
Nenhum comentário:
Postar um comentário