Tutorial Android #18 – Alterando o Ícone do Launcher

Padrão

Olá pessoal! Hoje temos um tutorial curtinho onde vamos modificar o ícone do launcher do nosso aplicativo e corrigir aquele bug que tínhamos na versão anterior (que encerrava inesperadamente e não funcionava novamente caso fosse pressionada a tecla voltar no formulário sem preencher nada).

Primeiramente, para alterar o ícone, devemos encontrar um ícone no formato PNG com dimensões de 72x72px. A Google possui algumas orientações de design para a confecção deste ícone. É sempre bom seguir tais recomendações caso você venha a disponibilizar seu aplicativo na Play Store (antigo Android Market). Para ler sobre o assunto, basta clicar aqui e aqui.

Como no nosso caso é apenas um tutorial, encontre um ícone qualquer que lhe agrade, renomeie-o para ic_launcher.png e coloque-o na pasta res/drawable. E… pronto! 😀

Caso, por algum motivo, você queria colocar o ícone com outro nome, pode utilizá-lo alterando a propriedade android:icon do nó application no arquivo AndroidManifest.xml.

Bom, e quanto ao nosso “bug”, o que ocorre é que, caso não preenchemos nada e apertamos a tecla voltar, o aplicativo tenta salvar valores nulos no banco de dados, o que acaba ocasionando uma exceção (exception). Para corrigir, basta controlar para que a gravação ou atualização não seja feita caso os valores básicos (nome, endereço e tipo) não sejam preenchidos. Assim, altere o método salvar() da classe FormularioDetalhes.

private void salvar() {<br />
	String tipo = null;</p>
<p>	switch (tipos.getCheckedRadioButtonId()) {<br />
	case R.id.rodizio:<br />
		tipo = &quot;rodizio&quot;;<br />
		break;<br />
	case R.id.fast_food:<br />
		tipo = &quot;fast_food&quot;;<br />
		break;<br />
	case R.id.a_domicilio:<br />
		tipo = &quot;a_domicilio&quot;;<br />
		break;<br />
	}</p>
<p>	if (tipo != null &amp;&amp; endereco.getText().toString() != null &amp;&amp;<br />
			nome.getText().toString() != null) {</p>
<p>		if (idRestaurante == null) {<br />
			gerenciador.inserir(nome.getText().toString(),<br />
					endereco.getText().toString(),<br />
					tipo, anotacoes.getText().toString(),<br />
					twitter.getText().toString());<br />
		} else {<br />
			gerenciador.atualizar(idRestaurante,<br />
					nome.getText().toString(),<br />
					endereco.getText().toString(),<br />
					tipo, anotacoes.getText().toString(),<br />
					twitter.getText().toString());<br />
		}<br />
	}</p>
<p>	finish();<br />
}

Prontinho! E por hoje é só! Estou trabalhando no próximo tutorial e… aguardem! Vai ser bem bacana! 😀

Pra baixar o projeto corrigido e com o novo ícone do launcher, só clicar aqui.