Classe Intent e o Conceito de Pilha em Android

Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog. Você receberá um email de confirmação. Somente depois de confirma-lo é que poderei lhe enviar os conteúdos exclusivos.

Email inválido.
Blog /Android /Classe Intent e o Conceito de Pilha em Android

Classe Intent e o Conceito de Pilha em Android

Vinícius Thiengo03/12/2013
(5262) (16) (9) (1)
Go-ahead
"Na falta de um foco externo, a mente se volta para dentro de si mesma e cria problemas para resolver, mesmo que os problemas são indefinidos ou sem importância. Se você encontrar um foco, uma meta ambiciosa que parece impossível e força-o a crescer, essas dúvidas desaparecem."
Tim Ferriss
Treinamento Oficial
Android: Prototipagem Profissional de Aplicativos
Black Week
CursoAndroid: Prototipagem Profissional de Aplicativos
CategoriaAndroid
InstrutorVinícius Thiengo
NívelTodos os níveis
Vídeo aulas+ 124
PlataformaUdemy
Acessar Curso
Receitas Android
Capa do livro Receitas Para Desenvolvedores Android
TítuloReceitas Para Desenvolvedores Android
CategoriaDesenvolvimento Android
AutorVinícius Thiengo
Edição
Ano2017
Capítulos20
Páginas934
Acessar Livro
Código Limpo
Capa do livro Refatorando Para Programas Limpos
TítuloRefatorando Para Programas Limpos
CategoriaEngenharia de Software
AutorVinícius Thiengo
Edição
Ano2017
Capítulos46
Páginas598
Acessar Livro
Conteúdo Exclusivo
Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog.
Email inválido

Opa!, Blz?!

Nesse vídeo mostro o que é e qual a importância da classe Intent em um projeto Android além de mostrar também o conceito de pilha que é válido para todo o sistema Android. O vídeo parece um pouco longo, mas na verdade eu apresento o conceito de maneira simples sem entrar muito no total poder dessa classe, pois senão o vídeo levaria, no mínimo, uma hora. Porém o que é apresentado já o suficiente para você já começar a fazer aplicações chamando várias outras telas de sua própria aplicação ou de aplicações terceiras instaladas no Android. Enfim, vou evitar muitas delongas aqui e vou deixar você ver o vídeo. Só para ressaltar fique ligado no coonceito de pilha no Android, pois vai fazer você começar a intender mais profundamente o que acontece no Android.

O link para download do projeto se encontra logo abaixo no post.

Compartilhe, comente!

Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog.
Email inválido

Relacionado

Criando Uma APP de Somar em AndroidCriando Uma APP de Somar em AndroidAndroid
Entendendo a Classe R.java do AndroidEntendendo a Classe R.java do AndroidAndroid
APP Android Thiengo [Calopsita] Está na Play StoreAPP Android Thiengo [Calopsita] Está na Play StoreAndroid
Conhecendo o Arquivo AndroidManifest.xmlConhecendo o Arquivo AndroidManifest.xmlAndroid

Compartilhar

Comentários Facebook (2)

Comentários Blog (14)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
Marcela Oliveira (1) (0)
06/02/2017
Boa tarde!
Esse setData , está dando erro, não aparece automaticamente e fiz manualmente também e continua o erro.
o que faço?
Responder
Vinícius Thiengo (0) (0)
07/02/2017
Marcela, tudo bem?

O setData() aceita somente dados do tipo URI. Veja se o putExtra() serve para ti. Trabalho melhor com o putExtra() no artigo do link a seguir.

http://www.thiengo.com.br/parcelable-no-android-entendendo-e-utilizando

Pode assistir mesmo se estiver apenas começando do Android. Abraço.
Responder
Carlos (1) (1)
22/01/2017
Vinicius, boa noite,

Antes de mais nada, agradeço pela resposta e pela ajuda que o sr. está fazendo.

Não sei o que estou fazendo de errado, modifiquei o xml do AndroidManifest e aparece erro, inseri o nome da nova activity a renomeei a antiga activity no código que foi passado.

Nos arquivos java, criei uma nova activity de exemplo e usei o código que aparece em seu vídeo e está tudo ok, mas o erro aparece no AndroidManifest.

Se eu passar os códigos do app de estudo que fiz, baseado no projeto do livro do prof.º Fernado Anselmo,  o sr. pode verificar onde está o erro?

O meu e-mail é:

macedo_car26@hotmail.com

Mais uma vez agradeço pela ajuda e desculpe pelo meu incômodo. Essa minha dúvida vai me ajudar em meus estudos para realizar alguns app's android.

Grato
Responder
Vinícius Thiengo (0) (0)
23/01/2017
Carlos, respondido em comentário abaixo. Abraço.
Responder
Carlos (1) (0)
20/01/2017
Ótimo vídeo! Assisti pela primeira vez no youtube e coloquei o seu blog em meus favoritos..

Estou com uma dúvida. É possível inserir uma nova tela em um app já pronto e fazer com que essa nova tela apareça primeiro? Não seria uma splashscreen, mas sim uma nova tela com botão que, ao ser clicado, levaria ao app.

Qual o procedimento para que isso fosse possível?

Grato
Responder
Vinícius Thiengo (0) (0)
20/01/2017
Carlos, tudo bem?

Se o aplicativo não for de seu controle, digo, você não ter acesso aos códigos fontes dele, nesse caso não é possível.

Assim a solução seria aplicar engenharia reversa no .APK da APP e com isso criar um novo aplicativo, mas é aquilo, mesmo tendo as mesmas características seria um novo aplicativo.

Caso você tenha acesso aos fontes do projeto, neste caso é tranquilo adicionar uma nova tela, Activity. Abraço.
Responder
Carlos (1) (0)
20/01/2017
Vinicius, agradeço pela resposta.

Como estou começando a criar app, sempre surge esses tipos de dúvidas. Comprei o livro do prof.º Fernando Anselmo e fiz um app simples partindo do exemplo do livro, por isso estou com todo o código fonte que digitei no eclipse.

Tentei usar o procedimento da sua vídeo aula e não tive muito sucesso, não sei o que estou fazendo errado.

O sr. poderia me ajudar com esse minha dúvida?

Grato
Responder
Vinícius Thiengo (0) (0)
21/01/2017
Ok, neste caso você precisa alterar o XML da Activity atual, digo, o XML do AndroidManifest.xml, fazendo com que a nova Activity, mais precisamente a tag dela nesse arquivo, tenha o a seguir:

?
<activity android:name=".SuaNovaActivity">
       <intent-filter>
              <action android:name="android.intent.action.MAIN" />

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

<activity
         android:name=?.SuaAntigaActivity" />
?

Assim deve funcionar sem problemas, digo, abrir a Activity que você quer primeiro. Se não me engano falo um pouco sobre isso no artigo / vídeo do link a seguir: http://www.thiengo.com.br/ciclo-de-vida-de-uma-atividade-no-android

Abraço.
Responder
Carlos (0) (0)
23/01/2017
Sr. Vinicius, boa noite,

Esqueci de enviar como está o arquivo xml, que apresentou erro, a nova activity que criei nomeei de "Novatela" e a antiga activity é "CalculadoraActivity".

Segue o arquivo AndroidManifest.xml:


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ecalc"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />
    
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        
        <activity
            android:name=".CalculadoraActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            
            ?
            android:name=".Novatela"
            android:label="@string/title_activity_novatela">
       <intent-filter>
              <action android:name="android.intent.action.MAIN" />

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

<activity
         android:name=?.CalculadoraActivity"
         android:label="@string/title_activity_novatela" >
       ?
                      
        </activity>
    </application>

</manifest>
Responder
Vinícius Thiengo (0) (0)
23/01/2017
Carlos, veja essa atualização em seu AndroidManifest.xml: http://pastebin.com/9wXHb6JP

Essa é a maneira como ele deve ser definido. Não deixe de depois estudar o artigo / vídeo do link a seguir: http://www.thiengo.com.br/conhecendo-o-arquivo-androidmanifest-xml

Abraço.
Responder
26/02/2015
Beleza? Primeiramete te agradecer, vc ta fazendo algo que precisamos. Trabalho com Java Web, e estou inciando no android, quais são suas aulas que posso pegar de incio e dar continuidade, pois vc tem varias opções! desde já obrigado!
Responder
Vinícius Thiengo (0) (0)
26/02/2015
Fala Ruan, blz?
Dê uma olhada no canal no YouTube ( https://www.youtube.com/user/thiengoCalopsita ), em especifico nessa Playlist ( https://www.youtube.com/playlist?list=PLBA57K2L2RILUAyMeRmw5kkt4-zzTHv78 ) já que está iniciando. Está um pouco antiga devido a eu utilizar Eclipse na época, mas se for acompanhando o código no AndroidStudio a implementação será a mesma. Abraço
Responder
30/01/2015
Muito bom essas dicas, a dúvida fica então para o fato do botão sempre presente nos smartphones android. Fazer esses botões de voltar parecem redundantes. Mas no caso da aprendizagem é válido. Minha dúvida é no caso do botão de voltar nativo do aparelho, ele mata(finaliza) a atividade atual? ou a atividade ainda continua na pilha??? Parabéns pelo vídeo e obrigado.
Responder
Vinícius Thiengo (1) (0)
31/01/2015
Fala Davi, blz?
Na verdade o Android permanece com o processo de sua APP (não somente a Activity) na memória. O que acontece é que todo vez que vc abre um APP tem uma série de entidades que o Android deve criar somente para rodar a APP (Processo único, Ambiente de execução único, Heap única...) e esse processo de criação é demorado e pesado, então para evitar que esse processo ocorra novamente o ANdroid tenta ficar o maior tempo possível com os processos das APPs abertas ainda salvo na memária, pois caso o usuário volte a APP não será necessário criar tudo novamente, resumo, a Activity será sim finalizada (método onDestroy() será chamado), porém o processo, ambiente de execução, heap, ... vão permanecer alive até o Android não precisar começar a matar processos na memória. Abraço
Responder