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!
ESTE É UM POST ANTIGO
Este post foi importado do antigo blog e o seu conteúdo não foi revisado. O conteúdo deve estar desatualizado e a formatação pode apresentar problemas.
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).
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):
Simples demais para um Great Hello World? Tem o próximo post ainda pra melhorar um pouco ele, estou aceitando ideias! 😀
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;