SlideShare uma empresa Scribd logo
1 de 35
This work is licensed under the Apache 2.0 License
Android Study Jams
Layouts e múltiplas Activities
Calleb J. Miquissene
DSC Lead, Founder – AlugAqui,
Android Engineer
 Estudante de Desenvolvimento de Softwares
 DSC Lead
 Android Developer, Firebase App Developer
 La Casa de Papel, !Game of Thrones
 Tabs, !Spaces
 !Animes
Sobre mim
This work is licensed under the Apache 2.0 License
● Activity – Manipulacao da UI da aplicacao
● Resources (layout files, images, strings, themes, etc...)
● AndroidManifest.xml – Permissoes da aplicacao
● Gradle files – Bibliotecas, e dependencias da aplicacao
Anatomia de um projecto básico Android
This work is licensed under the Apache 2.0 License
Layouts
This work is licensed under the Apache 2.0 License
TextView ImageView Button
Hello Android!
Views
This work is licensed under the Apache 2.0 License
TextView
TextView
Button
LinearLayout
TextView
Button
ConstraintLayout
TextView
ViewGroups
This work is licensed under the Apache 2.0 License
Linear Layout
LinearLayout é um grupo de visualizações que alinha todos os filhos em
uma única direção vertical ou horizontal.
Você pode especificar a direção do layout com o atributo
android:orientation
This work is licensed under the Apache 2.0 License
ConstraintLayout
O ConstraintLayout permite que você crie layouts grandes e complexos com
uma hierarquia de visualização plana (sem grupos de visualização
aninhados).
This work is licensed under the Apache 2.0 License
Hello World!
Declare layouts in XML
<TextView
android:text="Hello World!"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Crie uma nova aplicação com o nome
My Developer Profile
Esta aplicação começa com uma tela com campos onde deves
preencher (nome, linguagem de programação, idade, url da foto
de perfil e biografia); e um botão, onde ao clicar, a aplicação
deve abrir uma nova tela e mostrar o perfil do developer, com
base nos dados que preencheste no formulário.
This work is licensed under the Apache 2.0 License
Abra o arquivo biuld.gradle a
nível da app, e adicione as
dependências das bibliotecas
como ilustrado na imagem ao
lado.
As dependências representam
as bibliotecas que serão
utilizadas na aplicação.
No caso desta aplicação
utilizaremos duas bibliotecas
externas, que são:
Adicionando as
dependências
This work is licensed under the Apache 2.0 License
Glide – para buscar imagens
da internet através de urls e
coloca-las em ImageViews.
E CircleImageView –
biblioteca para ImageViews
com formato circular.
Após adicionar as
dependências, conecte-se a
internet e clique em menu
File/Sync Project With
Gradle Files para baixar as
bibliotecas.
Adicionando as
dependências
This work is licensed under the Apache 2.0 License
De certeza o teu projecto
começou com uma nova
activity chamada
MainActivity.kt.
Va em File/Activity/Empty
Activity e crie uma nova
activity.
De o nome de PerfilActivity.
No folder
com.example.mydeveloperprofile
crie um novo pacote de nome
activities e mova as duas
activities para este pacote.
Criando uma outra Activity
This work is licensed under the Apache 2.0 License
Crie outro pacote no folder
com.example.mydeveloperprofile,
com nome model.
Dentro deste pacote crie um
ficheiro em Kotlin, de nome
Developer.kt.
A classe Developer tem os
atributos nome, linguagem,
idade, foto e biografia, e se
extende a classe
Serializable.
Criando a classe
“Developer”
This work is licensed under the Apache 2.0 License
Edite o código xml do layout
da activity_main.xml.
Use o LinearLayout, para
colocar os componentes da
sua tela/ as suas views.
Defina android:orientation =
“vertical” para que as tuas
views estejam organizadas
verticalmente.
Usando o LinearLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"
android:padding="15dp"
android:gravity="center"
android:layout_height="match_parent"
tools:context=".activities.MainActivity">
// CODIGO DAS VIEWS, NAS PROXIMAS PAGINAS
</ LinearLayout>
<EditText
android:id="@+id/edtNome"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/nome_do_developer"
android:inputType="textPersonName"
android:importantForAutofill="no" />
<EditText
android:id="@+id/edtIdade"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:hint="@string/idade"
android:inputType="number"
android:importantForAutofill="no" />
<EditText
android:id="@+id/edtLinguagem"
android:layout_width="match_parent"
android:layout_marginTop="15dp"
android:layout_height="wrap_content"
android:hint="@string/linguagem_preferida"
android:text="@string/kotlin"
android:inputType="textPersonName"
android:autofillHints="" />
<EditText
android:id="@+id/edtUrlFoto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:hint="@string/url_da_foto_do_perfil"
android:inputType="textUri"
android:importantForAutofill="no" />
<EditText
android:id="@+id/edtBiografia"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:hint="@string/fale_um_pouco_sobre_voce"
android:inputType="textMultiLine"
android:importantForAutofill="no" />
<Button
android:id="@+id/btnVerPerfil"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="@string/ver_perfil" />
This work is licensed under the Apache 2.0 License
O seu editor visual devera te
mostrar uma tela como a
ilustrada na imagem.
Esta e a primeira tela do
aplicativo, ela contem 5
EditTexts e um Button.
Usando o LinearLayout
This work is licensed under the Apache 2.0 License
Uma boa pratica ao criar as
tuas aplicações android é
adicionar as tuas
strings/textos em
app/res/values/strings.xml
esta pratica ajuda na
reutilização de strings e sua
tradução.
Adicionando textos ao
arquivo strings.xml
<resources>
<string name="app_name">My Developer Profile</string>
<string name="nome_do_developer">Nome do Developer</string>
<string name="linguagem_preferida">Linguagem Preferida</string>
<string name="kotlin">Kotlin</string>
<string name="idade">Idade</string>
<string name="ver_perfil">Ver perfil</string>
<string name="url_da_foto_do_perfil">URL da foto do
perfil</string>
<string name="campos_incorrectos">Campos vazios ou
invalidos!</string>
<string name="fale_um_pouco_sobre_voce">Fale um pouco sobre
voce</string>
</resources>
This work is licensed under the Apache 2.0 License
Edite o código xml do layout
da activity_perfil.xml.
Use o ConstraintLayout,
para colocar os componentes
da sua tela/ as suas views.
No ConstraintLayout, as views
devem apoiar-se em outras
views.
Usando o ConstraintLayout
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activities.PerfilActivity">
// CODIGO DAS VIEWS, NAS PROXIMAS PAGINAS
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/imgFotoDeCapa"
android:layout_width="match_parent"
android:layout_height="200dp"
android:contentDescription="@string/app_name"
android:scaleType="centerCrop"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@mipmap/ic_launcher" />
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/imgFotoDePerfil"
android:layout_width="100dp"
android:layout_height="100dp"
app:civ_border_width="2dp"
android:contentDescription="@string/app_name"
app:layout_constraintBottom_toBottomOf="@+id/imgFotoDeCapa"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imgFotoDeCapa"
tools:src="@mipmap/ic_launcher_round" />
<TextView
android:id="@+id/txtNome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textSize="20dp"
android:textColor="@color/black"
android:textStyle="bold"
tools:text=“Exemplo"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imgFotoDePerfil" />
<TextView
android:id="@+id/txtLinguagem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textColor="@color/purple_700"
tools:text=“Exemplo"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtNome" />
<TextView
android:id="@+id/txtIdade"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="16"
android:textColor="@color/teal_700"
android:textSize="30dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/imgFotoDePerfil"
app:layout_constraintTop_toBottomOf="@+id/imgFotoDeCapa" />
<TextView
android:id="@+id/txtBiografia"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/txtLinguagem"
tools:text=“Exemplo" />
This work is licensed under the Apache 2.0 License
O seu editor visual devera te
mostrar uma tela como a
ilustrada na imagem.
Esta e a tela que sera
mostrada após clicar no botão
da primeira tela do aplicativo.
Esta tela contem 4 EditTexts,
1 ImageView e 1
CircleImageView.
Usando o ConstraintLayout
This work is licensed under the Apache 2.0 License
Na MainActivity.kt, dentro da
classe MainActivity e fora da
função onCreate(), declare as
variáveis que estarão
associadas as Views do teu
layout activity_main.xml.
MainActivity.kt
(…)
class MainActivity : AppCompatActivity() {
// Declaracao das variaveis que estarao associadas as Views
do Layout
lateinit var edtNome: EditText
lateinit var edtLinguagem: EditText
lateinit var edtIdade: EditText
lateinit var edtUrlFoto: EditText
lateinit var edtBiografia: EditText
lateinit var btnVerPerfil: Button
override fun onCreate(savedInstanceState: Bundle?) {
(…)
This work is licensed under the Apache 2.0 License
Dentro da função onCreate(),
associe as variáveis criadas,
as Views que definiste no teu
layout, através do
findViewById.
MainActivity.kt
(…)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Associacao das variaveis as Views do Layout
edtNome = findViewById<EditText>(R.id.edtNome)
edtIdade = findViewById<EditText>(R.id.edtIdade)
edtLinguagem = findViewById<EditText>(R.id.edtLinguagem)
edtUrlFoto = findViewById<EditText>(R.id.edtUrlFoto)
edtBiografia = findViewById<EditText>(R.id.edtBiografia)
btnVerPerfil = findViewById<Button>(R.id.btnVerPerfil)
(…)
This work is licensed under the Apache 2.0 License
Na MainActivity.kt, dentro da
classe MainActivity e fora da
função onCreate(), crie uma
função camposValidos() que
retorna o valor true, caso os
campos não estejam vazios.
Validando os campos na
MainActivity.kt
// Funcao que valida os campos e retorna TRUE se os campos
estiverem preenchidos
private fun camposValidos(): Boolean {
return !(edtNome.text.isNullOrEmpty() ||
edtLinguagem.text.isNullOrEmpty() ||
edtIdade.text.isNullOrEmpty() ||
edtUrlFoto.text.isNullOrEmpty() ||
edtBiografia.text.isNullOrEmpty())
}
This work is licensed under the Apache 2.0 License
Dentro da função onCreate(),
“escute” os eventos que
acontecem sobre o Botão
“ver perfil”, através do
método setOnClickListener()
chamado sobre a variável
associada ao botão, isto é, a
variável btnVerPerfil.
Responde aos evento do
clique
// Responde aos evento do clique no botao "btnVerPerfil"
btnVerPerfil.setOnClickListener {
(…)
}
This work is licensed under the Apache 2.0 License
Dentro do método
setOnClickListener()
chamado sobre a variável
btnVerPerfil, adicione o
código na imagem.
Basicamente, ele verifica se
todos os campos estão
preenchidos, caso sim, ele
inicia a activity PerfilActivity
com um objecto Developer
como EXTRA. Caso não, ele
mostra uma mensagem de
erro usando o Toast.
Responde aos evento do
clique // Verifica se os campos estao preenchidos
if (camposValidos()) {
// Busca os valores inseridos pelo usuario nos campos
val nome = edtNome.text.toString()
val linguagem = edtLinguagem.text.toString()
val idade = edtIdade.text.toString().toInt()
val foto = edtUrlFoto.text.toString()
val biografia = edtBiografia.text.toString()
// Cria um novo objecto "Developer" com os valores dos campos
val developer = Developer(nome, linguagem, idade, foto, biografia)
val intent = Intent(this, PerfilActivity::class.java)
intent.putExtra("developer", developer) // Adiciona o objecto developer ao Intent
startActivity(intent)
} else {
// Mostra uma mensagem de erro
Toast.makeText(
applicationContext,
getString(R.string.campos_incorrectos),
Toast.LENGTH_SHORT
).show()
}
This work is licensed under the Apache 2.0 License
Dentro da função onCreate()
1. Declare e inicialize a
variável que receberá o
EXTRA passado pela activity
anterior através do Intent.
2. Declare e inicialize as
variáveis que referenciam os
elementos/views do teu
layout.
PerfilActivity
// 1. Declara e inicializa a variavel developer que recebe o
EXTRA passado pela activity anterior
val developer = intent.getSerializableExtra("developer") as Developer
// 2. Declara e inicializa as variaveis que fazerem referencias
aos elementos do layout
val txtNome = findViewById<TextView>(R.id.txtNome)
val txtIdade = findViewById<TextView>(R.id.txtIdade)
val txtLinguagem = findViewById<TextView>(R.id.txtLinguagem)
val txtBiografia = findViewById<TextView>(R.id.txtBiografia)
val imgFotoDeCapa = findViewById<ImageView>(R.id.imgFotoDeCapa)
val imgFotoDePerfil = findViewById<CircleImageView>(R.id.imgFotoDePerfil)
This work is licensed under the Apache 2.0 License
Neste trecho de código
fazemos o uso da biblioteca
Glide que adicionamos as
dependências para buscar
imagens na internet através
de URLs.
A imagem buscada na internet
através do URL é colocada no
ImageView “imgFotoDeCapa”
e no CircleImageView
“imgFotoDePerfil”.
Mostrando Imagens de urls
em ImageViews
// Biblioteca Glide, coloca a imagem do URL na ImageView foto de capa
Glide.with(this)
.load(developer.foto) // URL da imagem
.placeholder(R.drawable.empty) // Caso o URL da imagem nao seja valido
.into(imgFotoDeCapa) // ImageView que recebe a imagem do url
// Biblioteca Glide, coloca a imagem do URL na ImageView foto de capa
Glide.with(this)
.load(developer.foto) // URL da imagem
.placeholder(R.drawable.empty) // Caso o URL da imagem nao seja valido
.into(imgFotoDePerfil) // ImageView que recebe a imagem do url
This work is licensed under the Apache 2.0 License
O trecho de código ao lado
mostra que atribuímos ao
atributo text das variáveis
txtNome, txtIdade,
txtLinguagem e txtBiografia,
os valores dos atributos do
objecto Developer recebido
como EXTRA pela activity
anterior.
Note que para o txtIdade.text
tivemos que converter o
developer.idade para String
usando o método toString()
visto que idade é um Int.
Mostrando textos em
TextViews programaticamente
// Coloca os atributos do developer nas suas devidas views
txtNome.text = developer.nome
txtIdade.text = developer.idade.toString()
txtLinguagem.text = developer.linguagem
txtBiografia.text = developer.biografia
This work is licensed under the Apache 2.0 License
TELA 2:
5 EditTexts e um Button.
O segundo EditText, já vem
preenchido com o texto
“Kotlin”.
Ao clicar no botão “VER
PERFIL”, a abre a tela do
perfil, caso todos os campos
estejam preenchidos.
Rode a aplicacao em seu
emulador
This work is licensed under the Apache 2.0 License
TELA 2:
2 ImageViews, das quais uma é circular,
criada através da biblioteca
CircleImageView.
4 TextViews para o nome, linguagem,
idade e biografia.
Caso não haja internet ou o URL da
imagem seja invalido, a aplicação irá
mostrar a imagem predefinida, que você
definiu como placeHolder, no trecho de
código em que faz-se o uso do Glide.
Rode a aplicacao em seu
emulador
This work is licensed under the Apache 2.0 License
Aprenda e divirta-se!

Mais conteúdo relacionado

Mais procurados

Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2Kalil Maciel
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
Como montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidComo montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidWsdevs Desenvolvedores
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Afonso Machado
 
Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Rudson Lima
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Tchelinux
 
Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Matheus Calegaro
 
Desenvolvimento móvel com Google Android
Desenvolvimento móvel com Google AndroidDesenvolvimento móvel com Google Android
Desenvolvimento móvel com Google AndroidCaelum
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneHenrique Perticarati
 
Pesl introducao a programacao para android
Pesl   introducao a programacao para androidPesl   introducao a programacao para android
Pesl introducao a programacao para androidRegis Claus
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - BásicoHugoDalevedove
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma AndroidÉdipo Souza
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para AndroidJorge Cardoso
 
Seminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidSeminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidWilliam Higino
 
BottomNavigationView Android, Como e Quando Utilizar
BottomNavigationView Android, Como e Quando UtilizarBottomNavigationView Android, Como e Quando Utilizar
BottomNavigationView Android, Como e Quando UtilizarVinícius Thiengo
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2Jose Berardo
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidRodolfo Faquin Della Justina
 
Android: Avaliação do Pré-projeto Agenda Cultural
Android: Avaliação do Pré-projeto Agenda CulturalAndroid: Avaliação do Pré-projeto Agenda Cultural
Android: Avaliação do Pré-projeto Agenda CulturalVinícius Thiengo
 

Mais procurados (20)

Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Como montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidComo montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento Android
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1
 
Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 
Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2
 
Desenvolvimento móvel com Google Android
Desenvolvimento móvel com Google AndroidDesenvolvimento móvel com Google Android
Desenvolvimento móvel com Google Android
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
 
Pesl introducao a programacao para android
Pesl   introducao a programacao para androidPesl   introducao a programacao para android
Pesl introducao a programacao para android
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Seminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidSeminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para Android
 
BottomNavigationView Android, Como e Quando Utilizar
BottomNavigationView Android, Como e Quando UtilizarBottomNavigationView Android, Como e Quando Utilizar
BottomNavigationView Android, Como e Quando Utilizar
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento Android
 
Android Studio
Android StudioAndroid Studio
Android Studio
 
Android: Avaliação do Pré-projeto Agenda Cultural
Android: Avaliação do Pré-projeto Agenda CulturalAndroid: Avaliação do Pré-projeto Agenda Cultural
Android: Avaliação do Pré-projeto Agenda Cultural
 

Semelhante a Android Layouts e Activities

Como criar interfaces gráficas com android
Como criar interfaces gráficas com androidComo criar interfaces gráficas com android
Como criar interfaces gráficas com androidRicardo Ogliari
 
Material Design - Melhorando a experiência de seu App
Material Design - Melhorando a experiência de seu AppMaterial Design - Melhorando a experiência de seu App
Material Design - Melhorando a experiência de seu Appalissin
 
Android: Por onde começar ?
Android: Por onde começar ?Android: Por onde começar ?
Android: Por onde começar ?GDGFoz
 
Phonegap - Framework Mobile
Phonegap - Framework MobilePhonegap - Framework Mobile
Phonegap - Framework MobileIldyone Martins
 
Introdução ao android e plataforma android
Introdução ao android e plataforma androidIntrodução ao android e plataforma android
Introdução ao android e plataforma androidJuarez Junior
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações AndroidFelipe Silveira
 
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Erisvaldo Junior
 
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaAprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaJosué Rockefeller
 
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaAprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaJosué Rockefeller
 
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaO novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaMessias Batista
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao androidPaulo Remoli
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 

Semelhante a Android Layouts e Activities (20)

Como criar interfaces gráficas com android
Como criar interfaces gráficas com androidComo criar interfaces gráficas com android
Como criar interfaces gráficas com android
 
Material Design - Melhorando a experiência de seu App
Material Design - Melhorando a experiência de seu AppMaterial Design - Melhorando a experiência de seu App
Material Design - Melhorando a experiência de seu App
 
Android Libs - AndroidDevConf
Android Libs - AndroidDevConfAndroid Libs - AndroidDevConf
Android Libs - AndroidDevConf
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Android: Por onde começar ?
Android: Por onde começar ?Android: Por onde começar ?
Android: Por onde começar ?
 
Phonegap - Framework Mobile
Phonegap - Framework MobilePhonegap - Framework Mobile
Phonegap - Framework Mobile
 
Introdução ao android e plataforma android
Introdução ao android e plataforma androidIntrodução ao android e plataforma android
Introdução ao android e plataforma android
 
Mulheres na tecnologia 2015
Mulheres na tecnologia 2015Mulheres na tecnologia 2015
Mulheres na tecnologia 2015
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações Android
 
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3
 
Apostilaandroidfatecnormal
ApostilaandroidfatecnormalApostilaandroidfatecnormal
Apostilaandroidfatecnormal
 
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaAprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
 
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaAprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
 
Android User Interface
Android User InterfaceAndroid User Interface
Android User Interface
 
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaO novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 

Android Layouts e Activities

Notas do Editor

  1. You’ll also be exploring other aspects of a basic Android app project which include a main activity, resources for your app, an Android Manifest file, and Gradle files. An Activity is how the user interacts with your app and it takes care of creating a window to display your UI in. Resources are the additional files and static content that your code uses, such as layout files, images, audio files, UI strings, themes, and more. Every project also includes an AndroidManifest.xml file. It describes essential information about your app such as the app’s package name, components of the app, and permissions it needs access to. Android uses Gradle to automate and manage the build process for your app. You can configure the build by modifying the Gradle files in your app to specify project dependencies, properties of your app, build variants, and more. This is a quick overview of the anatomy of a basic app project. You’ll have more time to dive in and explore these files firsthand in the course. For more info https://developer.android.com/guide/components/activities/intro-activities https://developer.android.com/guide/topics/resources/providing-resources https://developer.android.com/guide/topics/manifest/manifest-intro https://developer.android.com/studio/build
  2. Then you’ll build an interactive Dice Roller app and learn about layouts. A layout defines the structure for the user interface in your app, and layouts in Android are made up of a hierarchy of Views and ViewGroups.
  3. Here are some types of views that are provided by Android: TextView for displaying text, ImageView for displaying images, and Button to perform some action when tapped.
  4. To position one or more views on screen, use a ViewGroup. Here are some examples of ViewGroups in Android. Use FrameLayout when you have one view that you want to position on the screen. Use LinearLayout to display a row of views or a column of views, as shown in the diagram. Use ConstraintLayout for more complex layouts. You may hear the ViewGroup referred to as the parent, and the views inside it as its children.
  5. Declare layouts in Android using XML. For example, this is what a TextView element looks like in XML. The value of the android:text attribute is the text to display, which is Hello World! The layout_width and layout_height attributes are wrap_content, meaning the TextView will be as wide and as tall as the content inside it. Defining the UI layout in XML is one aspect of your app.