Android Para Iniciantes

Post on 12-Apr-2017

29 views 1 download

Transcript of Android Para Iniciantes

ANDROID

PARA INICIANTESINICIATIVA ANDROID

2

Activity

Ciclo de vida de uma Activity

O método setContentView()

Classe R

O XML

View

Intents

3

ACTIVITYUma 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 ACTIVITYonCreate() onStart() onRestart() onResume() onPause() onStop() onDestroy()

4

CICLO DE VIDA DE UMA ACTIVITYonCreate()é 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.@Overrideprotected void onStart() { super.onStart();}

5

CICLO DE VIDA DE UMA ACTIVITYonRestart()É chamado quando a Activity foi interrompida anteriormente.@Overrideprotected void onRestart() { super.onRestart();} onResume()

É chamado quando a Activity começará a interagir com o usuário.@Overrideprotected void onResume() { super.onResume();}

6

CICLO DE VIDA DE UMA ACTIVITYonPause()É chamado quando uma Activity está indo para segundo plano.@Overrideprotected void onPause() { super.onPause();}

onStop()É chamado para encerrar uma Activity.@Overrideprotected void onStop() { super.onStop();}

onDestroy()É ele é o responsável por encerrar uma Activity.@Overridepublic void onDestroy() { super.onDestroy();}

7

O MÉTODO setContentView()Faz parte de uma Activity ele faz uma "ligação" entre a Activity e a View.

@Overrideprotected 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.

8

Classe RClasse 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 TextViewtv.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

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.

10

ViewÉ TUDO AQUILO QUE APARECE NO DISPLAY. PODE SER UM ImageView, TextView, Buttom.

<TagDaViewatributo1atributo2 />

<TagDaView>atributo1atributo2

</ TagDaView >

A função de um View é formar o layout da tela.

11

IntentsAs 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.

12

IntentsExemplo: Intenção explícita, fazer um download de um arquivo na internet

Exemplo: Intenção implícita, para enviar um e-mailIntent 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);