04.08.2013 Views

um sistema de auxílio à coleta de dados na área de agricultura de ...

um sistema de auxílio à coleta de dados na área de agricultura de ...

um sistema de auxílio à coleta de dados na área de agricultura de ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Quando <strong>um</strong> item da lista é selecio<strong>na</strong>do é chamado o método onListItemClick(ListView l,<br />

View v, int posicao, long id) que é sobrescrito para recuperar o objeto da lista e passar como<br />

parâmetro para a activity exibir os <strong>dados</strong> <strong>na</strong> tela abaixo segue exemplo <strong>de</strong>ste método da classe<br />

ListaProdutores.<br />

@Overri<strong>de</strong><br />

protected void onListItemClick(ListView l, View v, int posicao, long id) {<br />

super.onListItemClick(l, v, posicao, id);<br />

editarProdutor(posicao); }<br />

// Recupera o id do produtor, e abre a tela <strong>de</strong> edição<br />

protected void editarProdutor(int posicao) {<br />

// Recupera o produtor selecio<strong>na</strong>do<br />

ProdutorObj produtor = listaProdutor.get(posicao);<br />

// Cria a intent para abrir a tela <strong>de</strong> editar<br />

Intent it = new Intent(this, TabProdutor.class);<br />

it.putExtra(ProdutorObj.class.getName(), produtor);<br />

// Abre a tela <strong>de</strong> edição<br />

startActivity(it); }<br />

Para o <strong>sistema</strong> ficar mais organizado as telas foram agrupadas em abas conformes suas<br />

funções. Neste protótipo existem três classes responsáveis por criar as abas e gerencia-las que são:<br />

TabProdutor, TabProprieda<strong>de</strong> e TabPlanejamento. Elas são <strong>um</strong>a extensão da classe ActivityGroup,<br />

sendo que cada aba é <strong>um</strong>a Activity. O exemplo abaixo mostra <strong>um</strong> trecho <strong>de</strong> código da classe<br />

TabProdutor.<br />

static TabHost tabHost;<br />

@Overri<strong>de</strong><br />

public void onCreate(Bundle savedInstanceState) {<br />

super.onCreate(savedInstanceState);<br />

setContentView(R.layout.tab_produtor);<br />

Resources res = getResources();<br />

tabHost = (TabHost) findViewById(R.id.tabhost);<br />

tabHost.setup(this.getLocalActivityMa<strong>na</strong>ger());<br />

TabHost.TabSpec spec;<br />

Intent intent;<br />

// Adicio<strong>na</strong> Tab #1<br />

intent = new Intent().setClass(this, AbaPrincipal.class);<br />

intent.putExtra("tab", "0");<br />

spec = tabHost.newTabSpec("0").setIndicator("Produtor").setContent(intent);<br />

tabHost.addTab(spec);<br />

4.3.2. Pacote Conexão<br />

O pacote Conexão possui as classe que permite a conexão com a parte exter<strong>na</strong> da aplicação<br />

como banco <strong>de</strong> <strong>dados</strong>, web services além <strong>de</strong> gerar o arquivo xml com o conteúdo do banco para a<br />

sincronização com o banco <strong>de</strong> <strong>dados</strong> do servidor. As classes que compõem este pacote são as<br />

seguintes: ConexaoHttpClient, BD e DatabaseAssistant conforme o diagrama <strong>de</strong> classes da (Figura<br />

14).<br />

48

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!