14
DISCIPLINA: LINGUAGEM DE PROGRAMAÇÃO 03 PROFESSOR: REGILAN MEIRA www.regilan.com.br – e-mail: [email protected] ALUNO: _________________________________________ ORIENTAÇÕES: A atividade deve ser realizada em DUPLA ou INDIVIDUALMENTE. A atividade deve ser iniciada no dia 09/06 e concluída em classe. A atividade NÃO SERÁ UTILIZADA COMO AVALIATIVA. Objetivo: Criar um APP para calcular algumas das principais fórmulas da Física. OBS: IREMOS PUBLICAR O APP EM NOME DA TURMA NA PLAY STORE ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ANDROI STUDIO ETAPAS 01: Criação de Menus 1 – Abrir o Android Studio e iniciar um novo projeto 2 – Em seguida será apresentado algumas janelas para definição do projeto. Faça as seguintes configurações: a) Em APPLICATION NAME: definir o nome da aplicação para EstudoDirigido01 b) Escolha a opção API 22 Android 5.1 (Lolipop) como o MininumSDK c) No template da aplicação escolha a opção NAVIGATION DRAWER ACTIVITY

ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

DISCIPLINA: LINGUAGEM DE PROGRAMAÇÃO 03 PROFESSOR: REGILAN MEIRA www.regilan.com.br – e-mail: [email protected]

ALUNO: _________________________________________

ORIENTAÇÕES:

• A atividade deve ser realizada em DUPLA ou INDIVIDUALMENTE.

• A atividade deve ser iniciada no dia 09/06 e concluída em classe.

• A atividade NÃO SERÁ UTILIZADA COMO AVALIATIVA.

• Objetivo: Criar um APP para calcular algumas das principais fórmulas da Física.

• OBS: IREMOS PUBLICAR O APP EM NOME DA TURMA NA PLAY STORE

ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ANDROI STUDIO

ETAPAS 01: Criação de Menus

1 – Abrir o Android Studio e iniciar um novo projeto

2 – Em seguida será apresentado algumas janelas para definição do projeto. Faça as seguintes configurações:

a) Em APPLICATION NAME: definir o nome da aplicação para EstudoDirigido01

b) Escolha a opção API 22 Android 5.1 (Lolipop) como o MininumSDK

c) No template da aplicação escolha a opção NAVIGATION DRAWER ACTIVITY

Page 2: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

3 – Clique em seguida em NEXT e após FINISH e aguarde a criação de um novo projeto pelo Android Studio. 4 – Após a configuração do aplicativo pelo Android Studio iremos adicionar alguns menus de navegação lateral. Você deverá adicionar os seguintes itens de menus:

a) Velocidade Média b) Calorimetria c) Segunda lei de Newton d) Pressão e) MRU f) Eletricidade g) Empuxo h) Ondas i) Distancia j) Torriceli

• Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

• Para adicionar um item utilize o código abaixo, alterando o ID (nome do item do menu), o ícone do menu e o título (texto):

<item

android:id="@+id/nav_camera"

android:icon="@drawable/ic_menu_camera"

android:title="Import" />

• Caso seja necessário podemos adicionar itens para agrupar menus, para isso faça o código conforme exemplo abaixo:

Page 3: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

<item android:title="Consultas">

<menu>

<item

android:id="@+id/nav_especialidade"

android:icon="@drawable/ic_menu_share"

android:title="Especialidade Médica" />

<item

android:id="@+id/nav_servicos_medicos"

android:icon="@drawable/ic_menu_send"

android:title="Serviços Médicos" />

</menu>

</item>

OBSERVAÇÃO: Utilize os ícones do Material Design do Google. Para isto, faça uma busca no Google pelo termo “Material Icons” ou acesse o endereço eletrônico: https://material.io/tools/icons/ Escolha um ícone adequado ao item do menu e faça o download clicando em PNG. Será feito o download de uma pasta compactada.

Após o download, descompacte os arquivos e teremos a seguinte estrutura de pasta:

Page 4: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

Abra a pasta ANDROID e copie todas as subpastas. Em seguida cole as pastas dentro do diretório RES do Android Studio, desta forma teremos o ícone em diferentes resoluções.

OBS: Para utilizar um ícone, na propriedade android:icon especifique o diretório: @drawable/NOMEDOARQUIVO

COPIAR TODOS OS DIRETÓRIOS E COLAR NO DIRETÓRIO

RES DO ANDROID STUDIO

Page 5: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

ETAPAS 02: Criação de Activities

A classe Activity é quem gerencia a interface com o usuário. Esta classe é responsável por receber as requisições, trata-las e processa-las. Na programação de aplicativos para Android, uma Activity está relacionada a uma Tela, mas é preciso entender também o ciclo de vida de uma Activity. Uma Activity possui vários estados em seu ciclo de vida, conheceremos os diversos estados a seguir:

• onCreate() - É a primeira função a ser executada em uma Activity. Geralmente é a responsável por carregar os layouts XML e outras operações de inicialização. É executada apenas uma vez.

• onStart() - É chamada imediatamente após a onCreate() – e também quando uma Activity que estava em background volta a ter foco.

• onPause() - É a primeira função a ser invocada quando a Activity perde o foco (isso ocorre quando uma nova Activity é iniciada).

• onRestart() - Chamada imediatamente antes da onStart(), quando uma Activity volta a ter o foco depois de estar em background.

• onResume() - Assim como a onStart(), é chamada na inicialização da Activity e também quando uma Activity volta a ter foco. Qual a diferença entre as duas? A

• onStart() - É chamada quando a Activity não estava mais visível e volta a ter o foco, a onResume() é chamada nas “retomadas de foco”.

• onDestroy() - A última função a ser executada. Depois dela, a Activity é considerada “morta” – ou seja, nao pode mais ser relançada. Se o usuário voltar a requisitar essa Activity, um novo objeto será construído.

Para criar uma Activity, devemos clicar com o BOTÃO DIREITO DO MOUSE sobre o diretório JAVA e em seguida NEW -> ACTIVITY -> GALLERY ou UMA DAS OPÇÕES DE LAYOUT

Page 6: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

Será criado uma classe Java no diretório JAVA e um arquivo XML para o layout de cada Activity Criada. 1 – Adicione uma Activity para cada item do Menu. Estas activities serão abertas quando o usuário clicar em um item do menu. Escolha o template EMPTY ACTIVITY para todas as activities que serão criadas. Para carregar uma nova Activity devemos criar uma Intent (Intenção). Intent são comandos que podemos enviar ao Sistema Operacional Android para realizar alguma ação. Com Intents você podemos enviar ou recuperar dados. O método startActivity(Intent intent) envia dados e requisições de telas, o método getIntent() recupera uma intent enviada por meio do startActivity(), o método putExtra(“nome_de_identificação”, valor) insere na intent algum valor, entre outras operações. Neste exemplo usaremos uma Intent para requisitar uma tela (ativity). O código da Intent para abrir uma activity está apresentado abaixo. //Cria uma nova intenção passando como parâmetro a classe atual e a nova classe

Intent i = new Intent(MainActivity.this,Janela.class);

//inicia uma atividade passando como parâmetro a inteção criada acima

startActivity(i);

2 – No diretório JAVA acesse o arquivo MainActivity que é o código JAVA da interface gráfica inicial da aplicação que contém dos arquivos de menu.

Neste arquivo localize o método public boolean onNavigationItemSelected(MenuItem item)

Page 7: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

Este método é o responsável por realizar alguma função quando um item do menu de navegação for selecionado. if (id == R.id.nav_camera) {

// Handle the camera action

} else if (id == R.id.nav_gallery) {

} else if (id == R.id.nav_slideshow) {

} else if (id == R.id.nav_manage) {

} else if (id == R.id.nav_share) {

} else if (id == R.id.nav_send) {

}

Dentro de cada IF/ELSE IF coloque o código necessário para abrir as janelas (activities que foram definidas)

ETAPAS 03: Criação de classes Uma classe é o agrupamento de objetos com a mesma estrutura de dados (definida pelos atributos ou propriedades) e comportamento (métodos), ou seja, classe são as descrições dos objetos. Um objeto é uma classe estanciada. De maneira mais conceitual, um objeto é algo distinguível que contém atributos (ou propriedades) e possui um comportamento. Para criar uma classe no Android Studio, clicamos com o BOTÃO DIREITO DO MOUSE na pasta JAVA que contém o código fonte da aplicação em seguida NEW -> JAVA CLASS.

1 – Crie uma classe chamada: FormulasFisica

Page 8: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

2 – Esta classe deverá possuir uma série de atributos, construtores, métodos para calcular 10 fórmulas de física conforme listadas abaixo: 1. Velocidade média: Fórmula: Vm = s / t Macete: Vim Sentar. sendo: Vm: velocidade média; s: variação do espaço; t: variação do tempo 2. Segunda lei de Newton Fórmula: Fr = m x a Macete: Fora Maria! sendo: Fr: força resultante; m: massa; a: aceleração.

Page 9: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

3. Calorimetria Fórmula: Q = m x c x T Macete: Que macete. sendo: Q: quantidade de calor; m: massa; c: calor específico; T: variação de temperatura. 4. Pressão Fórmula: P x v = n x R x T Macete: Por você nunca rezei tanto. sendo: P: pressão; v: volume; n: número de mols; R: constante dos gases perfeitos; T: temperatura. 5. MRU Fórmula: S = So + V x t Macete: Só sorvete. sendo: S: espaço final; So: espaço inicial; V: velocidade; t: tempo. 6. Eletricidade Fórmula: V = R x i Macete: Você ri. sendo: V: diferença de potencial elétrico; R: resistência elétrica; i: intensidade da corrente elétrica. 7. Empuxo

Page 10: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

Fórmula: E = d x V x g Macete: É devagar. sendo: E: empuxo; d: densidade; V: volume deslocado; g: aceleração da gravidade. 8. Velocidade de ondas Fórmula: V = x f Macete: Você lambe facas. sendo: V: velocidade da onda; x : comprimento de onda; f: frequência da onda. 9. Distância Fórmula: d = v x t Macete: Deus vê tudo. sendo: d: distância; v: velocidade; t: tempo. 10. Torricelli Fórmula: vf = v0 + 2 x a x s Macete: Vovô ficou com vovó, mais duas amigas dela. sendo: vf: velocidade final; v0: velocidade inicial; a: aceleração; s: variação do espaço. 3 – Adicione os atributos necessários para cada fórmula, em seguida crie os Gets e Sets de cada atributo. Também será necessário criar 10 construtores diferentes considerando cada uma das formulas. Exemplo: Considerando a fórmula 2 – Segunda lei de Newton

Page 11: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

Segunda lei de Newton Fórmula: Fr = m x a Macete: Fora Maria! sendo: Fr: força resultante; m: massa; a: aceleração.

Na classe FormulaFisica será necessário criar dois ATRIBUTOS PRIVADOS para a MASSA e a ACELERAÇÃO. private double massa, aceleracao;

Em seguida, com o botão DIREITO DO MOUSE na área em branco da classe, clique na opção GENERATE.

Em seguida escolha a opção GETTER/SETTER

Page 12: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

Escolha os atributos pelos quais serão gerados os GETS e SETS.

Será criado então no código JAVA os métodos GETS e SETS dos atributos escolhidos.

public double getMassa() {

return massa;

}

public void setMassa(double massa) {

this.massa = massa;

}

public double getAceleracao() {

return aceleracao;

}

Page 13: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

public void setAceleracao(double aceleracao) {

this.aceleracao = aceleracao;

}

Faça o mesmo processo para que seja criado o método construtor para os dois atributos. Veja exemplo: public FormulasFisica(double massa, double aceleracao) {

this.massa = massa;

this.aceleracao = aceleracao;

}

Com o processo descrito acima, podemos iniciar a classe FormulaFisica passando como parâmetros os valores para a Massa e Aceleração. 4 – Você deverá repetir o processo descrito no item 3 para todos os valores necessários para calcular cada uma das formulas citadas. 5 – Codifique os métodos necessários para calcular a fórmula de cada um dos itens. Veja exemplo: public double CalcularForcaResultando()

{

return massa * aceleracao;

}

ETAPAS 04: Relacionamento com a Interface Gráfica e Código JAVA

1 – Após a criação do código JAVA e da criação das Activities necessárias para cada uma das formulas propostas, devemos relacionar o layout gráfico no código Java. Para isto, declare no código JAVA de cada Activity as referências para os objetos visuais que serão manipulados. Exemplo: public class MainActivity extends AppCompatActivity {

EditText txtDistancia, txtTempo;

Button btCalcular;

No método OnCreate faça o relaciomento do XML com o código JAVA:

Page 14: ESTUDO DIRIGIDO: ORIENTAÇÃO A OBJETOS NO ......j) Torriceli • Os itens de menus são adicionados no arquivo XML localizado no diretório RES -> MENU activity_main_drawer.xml

txtDistancia = (EditText) findViewById(R.id.txtDistancia);

txtTempo = (EditText) findViewById(R.id.txtTempo);

btCalcular = (Button) findViewById(R.id.btCalcular);

Como o processo será realizado no click do botão, será necessário criar um Listener (método onClick). Para isso codifique como exemplo o Listener CALCULAR.

Utilize a tecla ENTER para que o Android Studio complemente o código necessário.

No método OnClick faça o uso da classe criada. Veja e exemplo: View.OnClickListener calcular = new View.OnClickListener() {

@Override

public void onClick(View v) {

double distancia, tempo, vm;

tempo = Double.parseDouble(txtTempo.getText().toString());

distancia = Double.parseDouble(txtDistancia.getText().toString());

Formulas f = new Formulas(distancia, tempo);

vm = f.velocidadeMedia();

Toast.makeText(getBaseContext(), "Velocidade média = " + vm,

Toast.LENGTH_LONG).show();

}

};