Professional Documents
Culture Documents
buscar
1 Android: Activity e interação entre Activities
Posted by Felipe Ferraz On janeiro - 13 - 2011 blog de design do
c.e.s.a.r.
* Este post foi redigido pela equipe C.E.S.A.R. Sorocaba
Ao desenvolver uma aplicação para Android, devemos estar familiarizados com alguns conceitos básicos
relacionados à sua estrutura. Entre eles, podemos citar dois componentes essenciais para toda
aplicação: as activities e os intents.
Português
English
Uma Activity é uma classe Java que herda da classe Activity do pacote Android. Ela define a tela que irá
interagir com um usuário de Android. Para desenvolver qualquer aplicação com interface em Android é
necessário que se tenha ao menos uma Activity. CATEGORIAS
Desempenho e Segurança de
É importante ressaltar que a Activity é apenas a tela exibida, sem nenhum layout. Geralmente, para Sistemas
adicionarmos conteúdo nas activies, devemos utilizar os arquivos xml de layout do Android, nos quais Geral
definem-se todos os elementos visuais, tais como botões e imagens.
Web 2.0
Aqui descreveremos uma utilização básica de Activity onde uma primeira Activity (Tela principal) chama Sistemas e Aplicações Wireless
Testes
Inicialmente é preciso criar um novo projeto Android, com um nome de sua preferência.
User Experience
TV Digital
BLOGROLL
Borba on Software
Devendra @ Work
Mobile Coding
Nelson Glauber
Rafael Ribeiro
Silvio Meira
Thiago Burgos
Thiago Veras
Tiago Barros
Vinícius Rocha
EVENTOS
« Sep Nov »
October 2013
M T W T F S S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 EC
TAG CLOUD
.net Android
análise de imagens
digitaisarduino bada
Aqui estamos usando Android 2.2. banco de
dadosc#Cluster concorrência
Depois a classe Primeiro será criada e o xml main.xml (em res->;layout) contendo os elementos que css Deployment
serão apresentados ao usuário, inicialmente apenas um texto. ManagerdesempenhoDesempenho
http://techne.cesar.org.br/android-activity-e-interacao-entre-activities/ 18/10/2013
Android: Activity e interação entre Activities | Technè Página 2 de 5
> imagensRequisitossamsung
Software Segurosql sql
serverthread contentionthread
<Button dumpstuning TV Digitalvisão
android:id=”@+id/botao”
w3c
computacionalvs2008vs2010
web WebSphere widget
android:layout_width=”fill_parent”
android:layout_height=”wrap_content” WP Cumulus Flash tag cloud by Roy
Tanck and Luke Morton requires
android:text=”@string/botao” /> Flash Player 9 or better.
<TextView
android:id=”@+id/textoMain”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
/>
</LinearLayout>
Dessa forma temos na tela um botão com Id botao, que podemos acessar do Activity pelo método
findViewById(Id) e um texto que exibirá nosso resultado.
Podemos então criar uma segunda Activity, com nome Segundo. Basta criar uma nova classe no seu
pacote, que herde da classe Activity.
E podemos criar um novo xml para representar a tela dessa segunda Activity. Basta adicionar um novo
arquivo Android XML em layout.
http://techne.cesar.org.br/android-activity-e-interacao-entre-activities/ 18/10/2013
Android: Activity e interação entre Activities | Technè Página 3 de 5
Nesse xml adicionaremos um campo para o usuário escrever seu nome e um botão.
<LinearLayout
xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”>
<EditText
android:id=”@+id/texto”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/texto”
/>
<Button android:text=”@string/botao2″
android:id=”@+id/botao2″
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”/>
< /LinearLayout>
Agora que temos as duas telas prontas podemos fazer as duas se comunicarem.
Na Activity Primeiro, dentro do método onCreate e após a chamada de setContentView, criamos uma
variável para acessar o botão criado na tela com o id botao.
Note que estamos recuperando o id do botão através da classe R, que é gerada pelo Eclipse sempre
que alteramos algum recurso do projeto. Esta classe é responsável por mapear estes recursos,
permitindo assim o seu acesso.
Adicionamos então um Listener ao botão para controlarmos a ação que ocorrerá quando o usuário clicar
nele.
1botao.setOnClickListener(new View.OnClickListener() {
2public void onClick(View v) {
3Intent i = new Intent(Primeiro.this, Segundo.class);
4startActivityForResult(i, 1);
5}
6});
A classe Intent permite que realizemos a comunicação entre duas Activities passando diferentes tipos
de informações. Tais informações podem ser quaisquer tipos primitivos de Java e objetos de classes
serializáveis. Precisamos apenas informar a instância da Activity inicial e o tipo da que será chamada.
Existem vários métodos que iniciam activities, mas nesse caso é importante utilizar o método
startActivityForResult, pois este permite capturar resultados fornecidos pela Activity chamada. Esse
método irá criar a nova Activity (no caso a Segundo) e esperará um retorno assim que essa for
encerrada. Além disso, passamos um código de requisição à segunda Activity , de acordo com a
necessidade da aplicação.
A segunda Activity deve recuperar o valor que o usuário digitar e enviar a primeira Activity.
http://techne.cesar.org.br/android-activity-e-interacao-entre-activities/ 18/10/2013
Android: Activity e interação entre Activities | Technè Página 4 de 5
1
1 finish();
2}
3});
Como na primeira acessamos o botão com um Listener e criamos um Intent para enviar a resposta a
primeira Activity. Usamos o método putExtra para adicionar o texto digitado com um chave “valor”, que
será acessada na primeira Activity. E chamamos o setResult para adicionar o Intent como resultado
dessa Activity. E finalizamos a Activity com finish.
Para acessar aplicativos nativos do Android como a lista de contatos também podemos usar o Intent, da
seguinte forma:
Declaramos:
Nesse caso instanciamos o Intent com uma ação de “escolha” ( Intent.ACTION_PICK) para o usuário
selecionar um contato, a URI para acessar a lista de contatos
(android.provider.ContactsContract.Contacts.CONTENT_URI) e código de requisição para identificar a
operação (PICK_CONTACT_REQUEST).
E para exibir os dados do contato selecionado ao receber a resposta inicial podemos escrever o método
onActivityResult dessa forma:
Chamando uma outra Activity que exibe os dados do contato escolhido passados em uma URI que
retorna no Intent em data.getData().
Categorias: Geral
Leave a Reply
Name (required)
Website
Submit Comment
http://techne.cesar.org.br/android-activity-e-interacao-entre-activities/ 18/10/2013
Android: Activity e interação entre Activities | Technè Página 5 de 5
CAPTCHA Code
http://techne.cesar.org.br/android-activity-e-interacao-entre-activities/ 18/10/2013