Uma activity representa uma tela em um aplicativo Android. As activities possuem um ciclo de vida definido por métodos como onCreate, onStart e onDestroy. Layouts de tela são definidos em arquivos XML separados e vinculados às activities usando o método setContentView. Intenções permitem a comunicação entre componentes de aplicativos.
3. ACTIVITY
Uma activity é a camada de apresentação de uma aplicação android. Em
resumo, uma tela.
TODO APLICATIVO ANDROID COMEÇA COM UMA ACTIVITY.
Uma Activity contém vários métodos, que definem o estado da mesma,
seja ela sendo criada, estando pausada, parada ou até mesmo destruída.
CHAMAMOS ISSO DE CICLO DE VIDA DE UMA ACTIVITY
onCreate() onStart() onRestart() onResume() onPause() onStop() onDestroy()
3
4. CICLO DE VIDA DE UMA ACTIVITY
onCreate()
é chamado quando a Activity é criada pela primeira vez.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
onStart()
é chamado quando a Activity se torna visível para o usuário.
@Override
protected void onStart() {
super.onStart();
}
4
5. CICLO DE VIDA DE UMA ACTIVITY
onRestart()
É chamado quando a Activity foi interrompida anteriormente.
@Override
protected void onRestart() {
super.onRestart();
}
onResume()
É chamado quando a Activity começará a interagir com o usuário.
@Override
protected void onResume() {
super.onResume();
}
5
6. CICLO DE VIDA DE UMA ACTIVITY
onPause()
É chamado quando uma
Activity está indo para
segundo plano.
@Override
protected void onPause() {
super.onPause();
}
onStop()
É chamado para encerrar uma Activity.
@Override
protected void onStop() {
super.onStop();
}
onDestroy()
É ele é o responsável por encerrar uma Activity.
@Override
public void onDestroy() {
super.onDestroy();
}
6
7. O MÉTODO setContentView()
Faz parte de uma Activity ele faz uma "ligação" entre a Activity e a View.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
O método setContentView passa o conteúdo de uma Activity para uma view explícita.
O setContentView é usado no método onCreate de uma activity.
7
8. Classe R
Classe de acesso aos recursos de uma aplicação.
private void defineNome(String nome) {
// Obtêm a view pela ID usando a classe R instanciando.
TextView tv = (TextView) findViewByID(R.id.minha_text_view);
// Define um novo texto para essa TextView
tv.setText("Meu nome é " + nome);
}
É usada para acessar os recursos do aplicativo (id's, drawables, etc).
Podemos encontrar uma View pelo seu ID e instanciar ela no arquivo Java para ser
modificada
8
9. O XML
É A MANEIRA DE CONSTRUIR O LAYOUT DE UMA APLICAÇÃO ANDROID.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent“
android:layout_height="match_parent">
<Button
android:layout_width="48dp"
android:layout_height="48dp“
android:text="+" />
</RelativeLayout>
O XML fica separado da "lógica" do seu aplicativo (arquivo JAVA), mas você pode
fazer modificações no seu layout usando um arquivo Java.
9
10. View
É TUDO AQUILO QUE APARECE NO DISPLAY. PODE SER UM ImageView, TextView,
Buttom.
<TagDaView
atributo1
atributo2 />
<TagDaView>
atributo1
atributo2
</ TagDaView >
A função de um View é formar o layout da tela.
10
11. Intents
As intenções são um conceito muito poderoso no Android, pois permite a criação de
aplicações de baixo acoplamento.
Intenção explícita: um aplicativo pode chamar diretamente um serviço ou atividade
Intenções implícitas: pedir para o sistema Android para listar os serviços registrados
e as aplicações registradas para um intente.
Filtro de intenção: é uma expressão que especifica os tipos de intenções que o
componente solicitante gostaria de receber.
11
12. Intents
Exemplo: Intenção explícita, fazer um download de um arquivo na internet
Exemplo: Intenção implícita, para enviar um e-mail
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
Intent.putExtra(Intent.EXTRA_SUBJECT, (getString(R.string.mail_subject) + name));
intent.putExtra(Intent.EXTRA_TEXT, emailText);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
Intent downloadIntent = new Intent(this, DownloadService.class);
downloadIntent.setData(Uri.parse(fileUrl));
startService(downloadIntent);
12