Entendendo o que é gerado pelo Android Studio

Entendendo o que é gerado pelo Android Studio
matheus.brandino
matheus.brandino

Compartilhe

Introdução

Algo bem comum na vida do desenvolvedor é deixar que a sua IDE o ajude na hora do desenvolvimento. Tão comum que geralmente pedimos a ela para dar aquele chute inicial quando começamos um novo projeto.

Banner da Escola de Mobile: Matricula-se na escola de Mobile. Junte-se a uma comunidade de mais de 500 mil estudantes. Na Alura você tem acesso a todos os cursos em uma única assinatura; tem novos lançamentos a cada semana; desafios práticos. Clique e saiba mais!

Android Studio: o que é gerado no projeto

No desenvolvimento Android, quando iniciamos um projeto, ele já deixa configurado bastante coisa para gente: já cria nossa primeira Activity(desde a classe ao seu layout) e além disso também a registra no manifest.

Legal, mas quando estamos iniciando um novo projeto, temos que escolher qual é o tipo de Activity que queremos utilizar. Aí ele nos dá tela parecida com essa:

tela de configuração

E geralmente não imaginamos logo de início qual será a melhor escolha de Activity e preferimos escolher uma tela em branco. Essa tela em branco geralmente já vinha com um Hello World configurada nela, por isso escolhíamos BlankActivity. Isso até a versão 1.5 do AndroidStudio.

Na última versão, quando estamos pedindo para ele gerar essa BlankActivity, estão sendo gerados 2 arquivos de layout. Como assim? Se verificarmos, ele está gerando um arquivo chamado content_NOME_DA_ACTIVITY.xml e outro com nome activity_NOME_DA_ACTIVITY.xml. Vamos analisar um pouco esses arquivos.

Estávamos acostumados a criar uma Activity e ela já vir com um único arquivo. Ao verificamos o arquivo activity_NOME_DA_ACTIVITY.xml que está sendo gerado vamos ver algo parecido com isto:


<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout 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" android:fitsSystemWindows="true">

<android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay">

<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_NOME_DA_ACTIVITY" />

<android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" android:src="@android:drawable/ic_dialog_email" />

</android.support.design.widget.CoordinatorLayout>

CoordinatorLayout, AppLayoutBar, Toolbar, FloatActionButton...o que é tudo isso?

Há um tempo atrás o Google criou uma biblioteca especialmente para design para aplicações mobile, você pode conferir mais sobre ela aqui. Todas essas Views já estão incluídas nesta biblioteca de design.

Legal, mas no meio desse layout há um include para outro arquivo de layout:


<include layout="@layout/content_NOME_DA_ACTIVITY" />

Este arquivo content já é aberto por padrão no momento que iniciamos um novo projeto,ele está lá para colocarmos todas as views que serão exibidas em nossa tela.

Esse novo padrão foi criado para deixar de forma mais organizada os arquivos xml.

Caso quisermos uma Activity vazia, sem nenhuma View, podemos iniciar nosso projeto utilizando **EmptyActivity**, que substitui a forma que BlankActivity fazia até a atualização.

Conhecemos dois tipos de Activity e ainda existem muitas outras prontas que podemos utilizar!

Veja outros artigos sobre Mobile