Já faz bastante tempo desde o último post, mas como eu havia dito hoje vamos começar um aplicativo do zero, sem seguir um exemplo do SDK. Então mãos à obra!

File > New > Project. Dessa vez selecione “Android Application Project” e clique em Next. Preencha os dados do seu aplicativo:

  • Application Name: o nome que será exibido para o usuário, na Google Play Store e na lista de aplicativos. Ex.: “My Great Hello World”.
  • Project Name: o nome do projeto no Eclipse. Não influencia o aplicativo. Ex.: “My Great Hello World”.
  • Package Name: se você já programa em Java sabe o que é isso. É um identificador único para o seu aplicativo, no formato de algum domínio que você controle. Ex.: “info.eduardoweiland.helloworld”. (inline ads: registro um domínio na Neep Host)
  • Build SDK: já foi explicado no último post, deixe na versão mais recente disponível. (no meu caso, 4.1 – API 16)
  • Minimum Required SDK: a versão mínima do Android necessária para o seu aplicativo rodar. Essa configuração vai depender dos métodos utilizados no código. Por enquanto deixe o padrão (API 8).

New Android Project

Dados cadastrados, então Next. Se você manteve marcada a opção “Create custom launcher icon”, vá em frente e escolha um que lhe interesse. Quando estiver pronto, é só clicar em Next.

Você pode optar por criar uma Activity a partir de um modelo. Mas eu disse que não vamos usar modelos, então desmarque a opção “Create Activity” e clique em Finish.

Para começar, vamos criar uma Activity para o nosso app. Na pasta src dentro do projeto, clique com o botão auxiliar do mouse > New > Class.

  • Package: o nome do pacote que você utilizou ao criar o projeto do Android. Ex.: “info.eduardoweiland.helloworld”
  • Name: o nome da classe. Como estamos criando uma Activity, é comum usar um nome que termine com Activity. Ex.: “MainActivity”
  • Superclass: digite “android.app.Activity”

Clique em Finish. Criamos a Activity, agora precisamos registrá-la no AndroidManifest.xml. Abra o arquivo, dessa vez na aba “Application”. No painel Application Nodes clique em Add. Selecione Activity e OK. Do lado direito desse painel, precisamos definir as informações dessa Activity. Em Name, digite o nome da classe criada ou clique em Browse e selecione-a na lista. Não vou explicar todos os campos aqui até porque não são obrigatórios, mas caso queira saber para que servem, passe o mouse sobre um campo para ler sua descrição (ou deixe um comentário perguntando sobre um campo específico).

Queremos também que essa seja a Activity inicial do aplicativo. Então selecione a MainActivity no painel Application Nodes e clique em Add. Dessa vez, escolha Intent Filter e clique em OK. Com o Intent filter selecionado, clique mais uma vez em Add e escolha Action. Agora, no painel lateral escolha android.intent.action.MAIN. Mas isso ainda não resolve nada, precisamos selecionar novamente o intent filter e clicar em Add, mas dessa vez escolhendo uma Category. No painel lateral selecione android.intent.category.LAUNCHER. Finalmente, isso garante que quando o usuário rodar o aplicativo essa Activity será a primeira executada. O AndroidManifest.xml deve estar parecido com esse (se não estiver algo está errado):

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="info.eduardoweiland.helloworld"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-sdk android:minSdkVersion="8"
              android:targetSdkVersion="16" />

    <application android:label="@string/app_name"
                 android:icon="@drawable/ic_launcher"
                 android:theme="@style/AppTheme">

        <activity android:name="MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

    </application>

</manifest>

Agora que já registramos nossa classe (foi bem fácil, como você pode ver), precisamos fazê-la funcionar! No código da nossa classe, MainActivity.java, precisamos criar o principal método de uma Activity: onCreate. Esse é o método chamado pelo sistema ao iniciar o aplicativo. O Eclipse já deve ter criado o esqueleto dessa classe para você, e o arquivo MainActivity.java deve estar parecido com esse:

package info.eduardoweiland.helloworld;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
    }

}

Primeira coisa a fazer: apague esse comentário TODO que é muito chato (mas se você quer deixar ele ali pode deixar, sem problemas). Segunda coisa: criar um layout bem básico (e eu quero dizer básico mesmo). Adicione o seguinte código após super.onCreate(savedInstanceState);, dentro do método onCreate().

// criando um widget para exibir um texto qualquer
final TextView text = new TextView(this);
text.setText("Hello World.");    // esse é o texto qualquer

// criando um botão
final Button btn = new Button(this);
btn.setText("Clique-me!!");

// IMPORTANTE: como definir a ação de um botão:
btn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // ao clicar apenas exibimos o texto criado antes
        setContentView(text);
    }
});

// exibe apenas o botão na tela
setContentView(btn);

Rode o aplicativo e teste. Não rodou? Deixe um comentário! O resultado final deve ser parecido com isso (clique para ampliar):

Hello World rodando no emulador

Simples demais para um Great Hello World? Tem o próximo post ainda pra melhorar um pouco ele, estou aceitando ideias! :D


EDIT

Eu estava revisando esses posts para voltar a escrever a parte 4 e encontrei um probleminha no último código. Se você não conseguiu rodar talvez seja isso: faltaram alguns imports para poder rodar esse exemplo. Adicione as seguintes linhas no início do arquivo:

import android.view.View;
import android.widget.Button;
import android.widget.TextView;
Com as tags → 
Plataforma Wordpress Latest (GPLv2)
Tema PageLines Lite Improved (GPLv3)
Hospedado por OpenShift by RedHat
Domínio registrado pela Neep Host
Creative Commons Attribution-ShareAlike License
Copyleft © 2016 Eduardo Weiland
Utilize um leitor de QR Code para acessar o blog no seu celular:
21
%d blogueiros gostam disto: