Programação para a Plataforma Android Aula 17. Broadcasts
|
|
- Luzia Corte-Real Sá
- 8 Há anos
- Visualizações:
Transcrição
1 Programação para a Plataforma Android Aula 17 Broadcasts O que são eventos de difusão? Como capturar eventos de chamadas telefônicas? Como verificar o estado da bateria? Como implementar receptores de eventos de difusão? O que são intenções assíncronas? O que são intenções pendentes?
2 Intenções de Difusão Intenções de Broadcast são entregues para todos os receptores de broadcast registrados no disposigvo Android. Por exemplo, quando uma chamada é recebida, todos os receptores desse Gpo de evento serão acordados para tratá lo. Qual a diferença entre receptores de broadcast e provedores de serviço?
3 Exemplos de Broadcast ACTION_BATTERY_LOW: um aviso que a bateria está quase descarregada. ACTION_HEADSET_PLUG: um fone de ouvido foi conectado (ou desconectado). ACTION_SCREEN_ON: a tela foi ligada. ACTION_TIMEZONE_CHANGED: o aparelho passou de um fuso para outro.
4 Recebendo Chamadas Chamadas telefônicas são capturadas como eventos de difusão (broadcast). Lendo números: Escreva uma aplicação que leia o número recebido em uma chamada, e o imprima na tela de log.
5 MyPhoneReceiver public class MyPhoneReceiver extends BroadcastReceiver public void onreceive(context context, Intent intent) { Bundle extras = intent.getextras(); if (extras!= null) { String state = extras.getstring(telephonymanager.extra_state); Log.w("DEBUG", state); if (state.equals(telephonymanager.extra_state_ringing)) { String phonenumber = extras.getstring(telephonymanager.extra_incoming_number); Log.w("DEBUG", phonenumber); MyPhoneReceiver.java
6 Broadcast Receivers não são agvidades Para usarmos nosso receptor, precisamos implementar uma agvidade. Toda aplicação possui uma agvidade. public class MainAcGvity extends AcGvity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.acgvity_main); MainAcGvity.java Existe alguma relação entre o receptor de intenções, e essa atividade? Como "ligamos" o receptor de eventos de difusão?
7 O Manifesto <applicagon AndroidManifest.xml Como simular a android:theme="@style/apptheme" > <acgvity recepção de android:name=".mainacgvity" uma chamada? android:label="@string/gtle_acgvity_main" > <intent filter> <acgon android:name="android.intent.acgon.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </acgvity> <receiver android:name=".myphonereceiver" > <intent filter> <ac=on android:name="android.intent.ac=on.phone_state" > </ac=on> </intent filter> </receiver> </applicagon> <uses permission android:name="android.permission.read_phone_state" />
8 Controle de Emulação O plugin Android para Eclipse provê uma interface para a emissão de sinais ao emulador.
9 Estados de uma Chamada public class MyPhoneReceiver extends BroadcastReceiver public void onreceive(context context, Intent intent) { Bundle extras = intent.getextras(); if (extras!= null) { String state = extras.getstring(telephonymanager.extra_state); Log.w("DEBUG", state); if (state.equals(telephonymanager.extra_state_ringing)) { String phonenumber = extras.getstring(telephonymanager.extra_incoming_number); Log.w("DEBUG", phonenumber);
10 Encontrando seu Número public class MainAcGvity extends AcGvity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.acgvity_main); TelephonyManager tm = (TelephonyManager) getsystemservice(telephony_service); String phonenumber = tm.getline1number(); Log.v("Phone_data", phonenumber == null? "No number" : phonenumber); MainAcGvity.java
11 Encontrando Informações de Operador public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.acgvity_main); TelephonyManager tm = (TelephonyManager) getsystemservice(telephony_service); String phonenumber = tm.getline1number(); Log.v("Phone_data", phonenumber); String operatorname = tm.getnetworkoperatorname(); Log.v("Phone_data", operatorname); String operatorcode = tm.getnetworkoperator(); Log.v("Phone_data", operatorcode); String operatoriso = tm.getnetworkcountryiso(); Log.v("Phone_data", operatoriso);
12 Disparando Eventos de Difusão Além de receber intenções de difusão, o usuário pode também disparar esse Gpo de intenção. URIs são usados para qualificar essas intenções. Difundindo eventos: Defina um evento de difusão "br.com.dcc052. aula17" e implemente um receptor que o capture.
13 Registrando a Intenção no Manifesto <applicagon android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/apptheme" > <acgvity android:name=".mainacgvity" android:label="@string/gtle_acgvity_main" > <intent filter> <acgon android:name="android.intent.acgon.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </acgvity> <receiver android:name=".mybroadcastreceiver" > <intent filter> <ac=on android:name="br.com.dcc052.aula17" /> </intent filter> </receiver> </applicagon> AndroidManifest.xml Para que serve essa declaração? O que é esse nome? Como uma intenção do tipo "br.com. dcc052.aula17" Poderia ser disparada?
14 Difundindo uma Intenção public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.acgvity_main); Intent intent = new Intent(); intent.setac=on("br.com.dcc052.aula17"); sendbroadcast(intent); O que está faltando implementar?
15 Definindo um Receptor MyBroadcastReceiver.java public class MyBroadcastReceiver extends BroadcastReceiver public void onreceive(context context, Intent intent) { Log.v("MyReceiver", intent.tostring()); O que deverá ser impresso?
16 Definindo um Receptor MyBroadcastReceiver.java public class MyBroadcastReceiver extends BroadcastReceiver public void onreceive(context context, Intent intent) { Log.v("MyReceiver", intent.tostring()); Como passar dados para o receptor? MyReceiver1 Intent { act=br.com.dcc052.aula17 flg=0x10 cmp=com.dcc052.aula17/.mybroadcastreceiver (has extras) }
17 Comunicando public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.acgvity_main); Intent intent = new Intent(); intent.setacgon("br.com.dcc052.aula17"); intent.putextra("arg1", "Oi"); sendbroadcast(intent); MainAcGvity.java Será que é possível termos mais de um receptor para a mesma intenção difundida? public void onreceive(context context, Intent intent) { String arg = intent.getstringextra("arg1"); Log.v("MyReceiver0", arg);
18 MúlGplos Receptores Podemos registrar vários receptores para uma mesma intenção difundida. Cada receptor deve ser registrado no manifesto da aplicação. AndroidManifest.xml O que mais precisa ser implementado? <receiver android:name=".mybroadcastreceiver0" > <intent filter> <acgon android:name="br.com.dcc052.aula17" /> </intent filter> </receiver> <receiver android:name=".mybroadcastreceiver1" > <intent filter> <acgon android:name="br.com.dcc052.aula17" /> </intent filter> </receiver>
19 MúlGplos Receptores public class MyBroadcastReceiver1 extends BroadcastReceiver public void onreceive(context context, Intent intent) { Log.v("Receiver1", intent.tostring()); MyBroadcastReceiver1.java MyBroadcastReceiver0.java public class MyBroadcastReceiver0 extends BroadcastReceiver public void onreceive(context context, Intent intent) { String arg = intent.getstringextra("arg1"); Log.v("Receiver0", arg);
20 Intenções Assíncronas Algumas intenções, chamadas assíncronas (s3cky) não desaparecem tão logo são lançadas. É possível consultar a úlgma instância de uma intenção desse Gpo. Os eventos de bateria são anunciados via intenções assíncronas. Escreva uma atividade que determine o estado da bateria do dispositivo.
21 MainAcGvity.java Lendo o Estado da public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.acgvity_main); IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent baverystatus = this.registerreceiver(null, filter); int status = baverystatus.getintextra(baverymanager.extra_status, 1); boolean ischarging = status == BaveryManager.BATTERY_STATUS_CHARGING; Log.v("Bavery", "Estah carregando? " + ischarging); boolean isfull = status == BaveryManager.BATTERY_STATUS_FULL; Log.v("Bavery", "Estah carregado? " + isfull); int chargeplug = baverystatus.getintextra(baverymanager.extra_plugged, 1); boolean usbcharge = chargeplug == BaveryManager.BATTERY_PLUGGED_USB; Log.v("Bavery", "Estah carregando via USB? " + usbcharge); boolean accharge = chargeplug == BaveryManager.BATTERY_PLUGGED_AC; Log.v("Bavery", "Estah carregando via tomada? " + accharge);
22 MainAcGvity.java Lendo o Estado da public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.acgvity_main); IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent baverystatus = this.registerreceiver(null, filter); int status = baverystatus.getintextra(baverymanager.extra_status, 1); boolean ischarging = status == BaveryManager.BATTERY_STATUS_CHARGING; Log.v("Bavery", "Estah carregando? " + ischarging); Qual argumento E porque estamos boolean isfull = status == BaveryManager.BATTERY_STATUS_FULL; é esperado passando o objeto Log.v("Bavery", "Estah carregado? " + isfull); nessa posição? nulo aqui? int chargeplug = baverystatus.getintextra(baverymanager.extra_plugged, 1); boolean usbcharge = chargeplug == BaveryManager.BATTERY_PLUGGED_USB; Log.v("Bavery", "Estah carregando via USB? " + usbcharge); boolean accharge = chargeplug == BaveryManager.BATTERY_PLUGGED_AC; Log.v("Bavery", "Estah carregando via tomada? " + accharge);
23 MainAcGvity.java Lendo o Estado da public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); Como saber a Que informações setcontentview(r.layout.acgvity_main); quantidade de serão IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); energia que resta impressas? Intent baverystatus = this.registerreceiver(null, filter); na bateria? int status = baverystatus.getintextra(baverymanager.extra_status, 1); boolean ischarging = status == Ba\eryManager.BATTERY_STATUS_CHARGING; Log.v("Ba\ery", "Estah carregando? " + ischarging); boolean isfull = status == Ba\eryManager.BATTERY_STATUS_FULL; Log.v("Ba\ery", "Estah carregado? " + isfull); int chargeplug = ba\erystatus.getintextra(ba\erymanager.extra_plugged, 1); boolean usbcharge = chargeplug == Ba\eryManager.BATTERY_PLUGGED_USB; Log.v("Ba\ery", "Estah carregando via USB? " + usbcharge); boolean accharge = chargeplug == Ba\eryManager.BATTERY_PLUGGED_AC; Log.v("Ba\ery", "Estah carregando via tomada? " + accharge);
24 MainAcGvity.java Energia public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.acgvity_main); Explique essa conta IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent baverystatus = this.registerreceiver(null, filter);... int level = ba\erystatus.getintextra(ba\erymanager.extra_level, 1); int scale = ba\erystatus.getintextra(ba\erymanager.extra_scale, 1); float ba\erypct = level / (float) scale; Log.v("Ba\ery", "Level = " + ba\erypct);
25 Intenções Pendentes É possível programar intenções para acontecer em algum momento no futuro. Esse Gpo de intenção chamase intenção pendente. Existe um controlador de eventos futuros, AlarmManager, que pode ser usado para disparar intenções pendentes. Definindo um alarme: Crie uma atividade que leia uma quantidade de segundos X, e programe uma intenção para X segundos no futuro.
26 alarm.xml Definindo um Layout <?xml version="1.0" encoding="u< 8"?> <LinearLayout xmlns:android="hbp://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientagon="ver3cal" > <EditText android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:focusable="true" android:inputtype="numberdecimal" > </EditText> <Buvon android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:onclick="startalert" > </Buvon> Precisamos definir um receptor para a intenção futura. </LinearLayout>
27 Recebendo Intenções de Alarme MyAlarmReceiver.java public class MyAlarmReceiver extends BroadcastReceiver public void onreceive(context context, Intent intent) { Toast.makeText(context, context.getstring(r.string.alarm_fired_message), Toast.LENGTH_LONG).show(); Vibrator vibrator = (Vibrator) context.getsystemservice(context.vibrator_service); vibrator.vibrate(2000); Para que serve essa classe? Para vibrar é preciso permissão. O que esse código está buscando?
28 MyAlarmReceiver.java Permissão para Vibrar public class MyAlarmReceiver extends BroadcastReceiver public void onreceive(context context, Intent intent) { Como a intenção será disparada? Toast.makeText(context, context.getstring(r.string.alarm_fired_message), Toast.LENGTH_LONG).show(); Vibrator vibrator = (Vibrator) context.getsystemservice(context.vibrator_service); vibrator.vibrate(2000); AndroidManifest.xml <uses permission android:name="android.permission.vibrate" /> <receiver android:name=".myalarmreceiver" />
29 Criando uma Intenção Pendente public class AlarmAcGvity extends AcGvity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.alarm); public void startalert(view view) { EditText text = (EditText) findviewbyid(r.id.gme); int i = Integer.parseInt(text.getText().toString()); Intent intent = new Intent(this, MyAlarmReceiver.class); PendingIntent pendingintent = PendingIntent.getBroadcast(this.getApplicaGonContext(), , intent, 0); AlarmManager alarmmanager = (AlarmManager) getsystemservice(alarm_service); alarmmanager.set(alarmmanager.rtc_wakeup, System.currentTimeMillis() + (i * 1000), pendingintent); Toast.makeText(this, i + getstring(r.string.alarm_started_message), Toast.LENGTH_LONG).show(); AlarmAcGvity.java Grande mistério: como/quando o método startalert é chamado? Lembra de registrar a intenção no manifesto
30 Mais Manifesto <acgvity android:name=".alarmacgvity" > <intent filter> <acgon android:name="android.intent.acgon.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </acgvity> AndroidManifest.xml
31 Amarração entre XML e Java <Buvon android:id="@+id/ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:onclick="startalert" android:text="@string/alarm_buvon_label" > </Buvon> alarm.xml AlarmAcGvity.java Como se dá a amarração entre Java e XML nesse exemplo? public class AlarmAcGvity extends AcGvity public void oncreate(bundle savedinstancestate) {... public void startalert(view view) {...
32 A Ordem dos Eventos public class AlarmAcGvity extends AcGvity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.alarm); public void startalert(view view) { EditText text = (EditText) findviewbyid(r.id.gme); int i = Integer.parseInt(text.getText().toString()); Intent intent = new Intent(this, MyAlarmReceiver.class); PendingIntent pendingintent = * O que acontecerá tão logo o usuário clique no botão? * Qual a ordem dos eventos? PendingIntent.getBroadcast(this.getApplicaGonContext(), , intent, 0); AlarmManager alarmmanager = (AlarmManager) getsystemservice(alarm_service); alarmmanager.set(alarmmanager.rtc_wakeup, System.currentTimeMillis() + (i * 1000), pendingintent); Toast.makeText(this, i + getstring(r.string.alarm_started_message), Toast.LENGTH_LONG).show(); AlarmAcGvity.java
33 A Ordem dos Eventos public class AlarmAcGvity extends AcGvity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.alarm); public void startalert(view view) { EditText text = (EditText) findviewbyid(r.id.gme); int i = Integer.parseInt(text.getText().toString()); Intent intent = new Intent(this, MyAlarmReceiver.class); PendingIntent pendingintent = PendingIntent.getBroadcast(this.getApplicaGonContext(), , intent, 0); AlarmManager alarmmanager = (AlarmManager) getsystemservice(alarm_service); alarmmanager.set(alarmmanager.rtc_wakeup, System.currentTimeMillis() + (i * 1000), pendingintent); Toast.makeText(this, i + getstring(r.string.alarm_started_message), Toast.LENGTH_LONG).show(); AlarmAcGvity.java
34 strings.xml strings.xml <resources> <string name="app_name">aula17</string> <string name="gtle_acgvity_main">mainacgvity</string> <string name="main_acgvity_label">agvidade Principal</string> <string name="alarm_buvon_label">iniciar</string> <string name="alarm_fired_message">hora de acordar!</string> <string name="alarm_started_message"> segundos para alarme disparar.</string> </resources>
Programação para a Plataforma Android Aula 13. Localização
Programação para a Plataforma Android Aula 13 Localização O que são serviços baseados em localização? Como usar a API de mapas do Google? Como sobrepor diferentes visões a um mapa? Como integrar o mapa
Leia maisBroadcastReceiver. O que são mensagens broadcasts? Use notificações! (Serão explicadas em breve)
Broadcast Receiver BroadcastReceiver Chamado pelo Android para reagir a mensagens broadcast Usado para executar tarefas rápidas em segundo plano Não interromper o usuário por meio de activities Use notificações!
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Aula 2 Vidal. Ronnison Reges 1 1 Análise e Desenvolvimento de Sistemas - Parangaba Centro Universitário Estácio do Ceará 2018 Vidal. Ronnison Reges (Centro Universitário
Leia maisCurso de Android - 2 Novas Activities. SECAP Prof. Rone Ilídio - UFSJ
Curso de Android - 2 Novas Activities SECAP Prof. Rone Ilídio - UFSJ Inserindo a segunda activity Inserindo a segunda activity Criaremos uma aplicação com duas telas onde ao clicar o botão de uma chama-se
Leia maisDesenvolvimento de um aplicativo básico usando o Google Android
Desenvolvimento de um aplicativo básico usando o Google Android (Intent e Intent Filter) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus
Leia maisProgramação para Dispositivos Móveis
Programação para Dispositivos Móveis Professor Ariel da Silva Dias Desenvolvendo para Android Android Core Uma aplicação Android é formada por um conjunto de componentes; A este conjunto damos o nome de
Leia maisProgramação para a Plataforma Android Aula 2. Aula 2 Views
Programação para a Plataforma Android Aula 2 Aula 2 Views O que é modelo, visão e controle Como definir layouts gráficos Como Separar visão de modelo Como criar layouts em arquivos XML Como adicionar eventos
Leia maisLogin. Criar uma nova Activity. Login. Luiz Eduardo Guarino de Vasconcelos
Criar uma nova Activity Observe no AndroidManifest.xml que foi criada a segunda Activity. Nesse arquivo: - defini-la como a primeira a ser executada (recortar o intent-filter da MainActivity para a Activity)
Leia maisAlarmManager. Programação em Dispositivos Móveis (PDM) Centro de Cálculo Instituto Superior de Engenharia de Lisboa
AlarmManager (PDM) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Notificar o utilizador passado determinado tempo 2 Mostrar janela com mensagem
Leia maisDesenvolvimento de Aplicativos Android
Desenvolvimento de Aplicativos Android Criando uma Interface Simples A partir do diretório res/layout/ abra o activity_main.xml. Este arquivo XML define o layout da sua activity. Ele contém o texto padrão
Leia maisMódulo 3 - Intenções. SECAP 2014 Prof. Rone Ilídio - UFSJ
Módulo 3 - Intenções SECAP 2014 Prof. Rone Ilídio - UFSJ Intenção é um pedido que uma aplicação faz ao Android O Android executa intenções Um intenção pode ser utilizada para: Uma mensagem para o SO Abrir
Leia maisNavegar entre páginas Necessário o uso de Intent. Intenção de ir a algum lugar, acessar outros recursos, outros apps.
Navegar entre páginas Necessário o uso de Intent. Intenção de ir a algum lugar, acessar outros recursos, outros apps. Alterar o oncreate dentro de LoginActivity.java, para chamar uma próxima Activity.
Leia maisTutorial Android Speech
Tutorial Android Speech O sistema operacional Android já dispõe de uma funcionalidade interna para síntese e reconhecimento de voz que pode ser incorporado a qualquer aplicação. Essa funcionalidade utiliza
Leia maisCriando as primeiras telas (Activity)
File > New > New Project Observe o conteúdo dos arquivos MainActivity e activity_main.xml. Alterar strings.xml primeiro app Usar FindUsages para
Leia maisProvedores de Conteúdo
Programação para a Plataforma Android Aula 12 Provedores de Conteúdo O que são provedores de conteúdo? Como ler dados de outras aplicações? Como iden@ficar recursos de forma única? Como deixar dados disponíveis
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Aula 3 Vidal. Ronnison Reges 1 1 Análise e Desenvolvimento de Sistemas - Parangaba Centro Universitário Estácio do Ceará 2018 Vidal. Ronnison Reges (Centro Universitário
Leia maisDesenvolvimento com Android Studio. Aula 02 Widgets, Manipulação de Dados e Programação de Eventos
Desenvolvimento com Android Studio Aula 02 Widgets, Manipulação de Dados e Programação de Eventos Widgets TextView O Widget TextView é utilizado para apresentar um texto não editável na tela. Qualquer
Leia maisMódulo 2 - Novas Activities Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ
Módulo 2 - Novas Activities Android Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ Inserindo a segunda activity Para inserir uma nova activity basta clicar com o botão direito sobre o pacote,
Leia maisComunicação entre A0vidades
Programação para a Plataforma Android Aula 8 Comunicação entre A0vidades Como invocar uma a0vidade a par0r de outra? Como descrever um serviço em Android? Como duas a0vidades se comunicam? Como abrir uma
Leia maisComputação Móvel Conceitos Básicos do Android Ref. Capítulo 3
Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Computação Móvel Conceitos Básicos do Android Ref. Capítulo 3 Vicente Amorim vicente.amorim.ufop@gmail.com Sumário * Estrutura
Leia maisProgramação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 05 Programando formularios, activities e intents. Dalton Martins dmartins@gmail.com São Paulo, Março, 2012
Leia maisProgramação para a Plataforma Android Aula 16. Fragmentos
Programação para a Plataforma Android Aula 16 Fragmentos O que são fragmentos Como combinar múl?plas visões em uma única tela? Como lidar com telas de tamanhos variados? Como modificar a visão de uma a?vidade
Leia maisAndroid Activity. Ivan Nicoli
Android Activity Ivan Nicoli Activity Representa a tela de uma aplicação Classe filha da classe android.app.activity Deve ser declarada sempre no AndroidManifest.xml Obrigatória a implementação do método
Leia maisFirebase. Acesse o site https://firebase.google.com/?hl=pt-br Acesse o menu Go to Console. Acesse com uma conta Google ou crie uma conta.
Firebase Acesse o site https://firebase.google.com/?hl=pt-br Acesse o menu Go to Console. Acesse com uma conta Google ou crie uma conta. Adicione um projeto. Crie um projeto Para usar o Firebase num projeto
Leia maisRetrofit. Criar um novo projeto. Selecionar a API. Retrofit para consumir Web Service Luiz Eduardo Guarino de Vasconcelos
Retrofit Criar um novo projeto Selecionar a API Empty Activity MainActivity Finish. Adicionar Novas Dependências Menu File > Project Structure Modulo app > Aba Dependencies Clique em adicionar (+) no canto
Leia maisProgramação para Android. Aula 08: Persistência de dados SQL
Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente
Leia maisProgramando Intenções. Prof. Fellipe Aleixo
Programando Intenções Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Conteúdo Desenvolvimento de uma aplicação para registrar contatos (nome e telefones) e realizar chamadas Intent (intenções) Aplicações
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Editor de Figuras Vamos usar nosso modelo de editor de figuras para fazer uma versão Android dele Ao invés
Leia maisAplicações que executam, em geral, processos longos em background desprovidos de interface. Usado para executar tarefas em segundo plano
Serviços Serviços Aplicações que executam, em geral, processos longos em background desprovidos de interface. Usado para executar tarefas em segundo plano Estas tarefas não possuem um tempo definido de
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Tipos Parametrizados ou Genéricos Os tipos parametrizados ou genéricos são a solução para esse problema
Leia maisApresentação de um Processo Cria4vo de Desenvolvimento de uma App Android. Realização de Dinâmica Hands- On para Construção de uma App Android
Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android Realização de Dinâmica Hands- On para Construção de uma App Android Dr. Eduardo Manuel de Freitas Jorge, PMP Realização de Dinâmica
Leia maisMais Elementos da Interface com o Usuário. Prof. Fellipe Aleixo
Mais Elementos da Interface com o Usuário Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Conteúdo Desenvolvimento de uma aplicação para registrar contatos e seus respec?vos telefones Algumas Classes
Leia maisPrimeira Aplicação Android Olá Mundo. Prof. Fellipe Aleixo
Primeira Aplicação Android Olá Mundo Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Conteúdo Passo- a- passo de um Projeto Android Conceitos Básicos de uma Aplicação Principais Arquivos Execução da
Leia maisGoogle Android. SMS Short Message Service
SMS Short Message Service A API Telephony do Android permite monitorar e gerenciar Conexão de Dados, Entrada e Saída de Chamadas, Envio e recebimento de mensagens SMS. É possível criar o próprio Cliente
Leia maisProjeto GoHome Tutorial Sobre o serviço do Google Maps no Android
Projeto GoHome Tutorial Sobre o serviço do Google Maps no Android Moisés Batista Bispo Teresina-PI 1- Breve Descrição Este tutorial tem como objetivo, adicionar de forma simples e prática, um mapa ao seu
Leia maisProgramação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Leia maisProf: Ricardo Quintão Site:
Prof: Ricardo Quintão email: ricardo.quintao@uva.br Site: www.rgquintao.com.br Vamos agora criar o nosso primeiro projeto Android. Na criação de um projeto novo, o ADT já cria um programa de exemplo que
Leia maisSimulado de Linguagem de Programação Java
Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as
Leia maisRESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO
Leia maisProgramação para a Plataforma Android Aula 7. Mul$mídia
Programação para a Plataforma Android Aula 7 Mul$mídia Como executar aplicações que contêm músicas? Como abrir vídeos em Android? Quais formatos de músicas são aceitos? Quais formatos de vídeo? Como o$mizar
Leia maisUsando e Gerenciando Activities
Usando e Gerenciando Activities Ciclo de vida Activity 2 Especificando a execução Especifica a Activity que é ponto principal de entrada de sua aplicação Se a ação MAIN action ou a categoria LAUNCHER não
Leia maisAndroid DEFINIÇÕES E CICLO DE VIDA. Prof. Dr. Joaquim assunção.
Android DEFINIÇÕES E CICLO DE VIDA Prof. Dr. Joaquim assunção. Parte 1/2 Bases Fundamentos Os aplicativos do Android são programados em linguagem de programação Java ou Kotlin. As ferramentas Android SDK
Leia maisp Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco
1 Expandindo o Sistema p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco class Diretor extends Funcionario { public boolean autentica(int senha)
Leia maisDesenv. Para Dispositivos Móveis. Prof. Clayton Almeida
Desenv. Para Dispositivos Móveis Prof. Clayton Almeida Um BroadCastReceiver é um receptor broadcast para processamento de tempo curto; Permite um processo em background escutar eventos do sistema ou aplicação;
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
7 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisFragments. Criar um novo projeto. Selecionar a API. Navigation Drawer Activity. Fragments. Luiz Eduardo Guarino de Vasconcelos
Criar um novo projeto Selecionar a API Navigation Drawer Activity MainActivity Finish. Adicionar as Dependências do ButterKnife. butterknife butterknife-compiler. Veja o tutorial do ButterKnife no site.
Leia maisComputação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:
Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)
Leia maisCasa do Código Livros para o programador Rua Vergueiro, 3185-8º andar 04101-300 Vila Mariana São Paulo SP Brasil
Casa do Código Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998. Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem autorização prévia por escrito da editora,
Leia maisDESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO
DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO Action Bar A action bar é a barra superior da aplicação Surgiu no Android 3.0 (API Level 11) Benefícios Identifica a aplicação
Leia maisAndroid. Interfaces: widgets
Android Interfaces: widgets Relembrando... Após a criação do projeto, será criada uma estrutura de diretórios necessária para um projeto Android. A pasta src contém os fontes das classe que representam
Leia maisExercício de Estrutura de dados. Java Fila
Exercício de Estrutura de dados Java Fila Obs.: Esse projeto foi um exercício realizado em sala de aula da matéria de Estrutura de dados com o Profº Frederico Augusto Siqueira Gentil Aqui está sendo relatado
Leia maisProgramação para Dispositivos Móveis. Banco de Dados (SQLite)
Programação para Dispositivos Móveis Banco de Dados (SQLite) SQLite O Android possui suporte nativo ao SQLite O SQLite é um mecanismo de banco de dados SQL incorporado. Ao contrário da maioria dos outros
Leia maisProgramação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 06 Controlando o fluxo de eventos e passando parametro para Activities. Dalton Martins dmartins@gmail.com
Leia maisPROPOSTA DE UM PADRÃO DE PROJETO PARA ANDROID UTILIZANDO A WEB
PROPOSTA DE UM PADRÃO DE PROJETO PARA ANDROID UTILIZANDO A WEB Aluno: Pedro Paulo S. Freitas Orientador: Ricardo Augusto Rabelo Sumário Introdução Motivação e Justificativa Trabalhos relacionados Plataforma
Leia maisAlgoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):
Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Android Android é um sistema operacional para dispositivos móveis Kernel Linux, drivers e bibliotecas do
Leia maisDesenvolvimento de um aplicativo básico usando o Google Android
Desenvolvimento de um aplicativo básico usando o Google Android (Notification) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte
Leia maisANDROID APRENDIZ. Um guia para iniciantes Crie seu primeiro aplicativo Android
ANDROID APRENDIZ Um guia para iniciantes Crie seu primeiro aplicativo Android Fillipe Cordeiro Um guia para iniciantes Crie seu primeiro aplicativo Android Sumário #1 Passo: Introdução a Plataforma Android
Leia maisArmazenamento de dados
Armazenamento de dados Opções de Armazenamento Shared Preferences Mecanismo simples de armazenar pares de chavevalor Internal Storage Mecanismo para armazenar dados na memória do aparelho External Storage
Leia maisTrabalhando com Mensagens. File > New > New Project. Uso de mensagens (Toast) Luiz Eduardo Guarino de Vasconcelos
Trabalhando com Mensagens File > New > New Project Alterando o Título da ActionBar Alterar strings.xml exemplo1 exemplo1 - Guarino
Leia maisTUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS
TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS Uma activity é um componente do aplicativo que fornece uma tela com o qual os usuários podem interagir. Uma aplicação geralmente consiste de múltiplas activities,
Leia maisLista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Leia maisDesenvolvimento Android. http://www.larback.com.br
Desenvolvimento Android http://www.larback.com.br Introdução ao Android O Android é a resposta da Google ao mercado crescente de dispositivos móveis. É uma nova plataforma de desenvolvimento baseado no
Leia maisLinguagem de programação Java
Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Java Professor: Saulo Henrique Cabral Silva ENTENDENDO O JAVA 2 Entendendo o Java executando... A instância da JVM irá iniciar
Leia maisNotification. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo
Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)
Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado
Leia maisMensagens. Para conhecimento. Renomear arquivos. Botão Direito no arquivo > Rafactor > Rename Shift + F6
Mensagens Qual a finalidade da mensagem que é exibida para o usuário? - Toasts não necessariamente serão lidas pelos usuários pois aparecem e somem rapidamente. - Alerts são mensagens críticas para o usuário.
Leia maisAvisos e Notificações aos Usuários
Avisos e Notificações aos Usuários Caixa de Diálogos Pequena janela que solicita ao usuário tomar uma decisão ou inserir informações adicionais. Não preenche toda a tela Utilizado em eventos modais, requerem
Leia maisComputação Móvel ActionBar e Temas (Ref. Cap. 5)
Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Computação Móvel ActionBar e Temas (Ref. Cap. 5) Vicente Amorim vicente.amorim.ufop@gmail.com Sumário * Introdução * ActionBar
Leia maisIntrodução ao Android
Introdução ao Android André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida Parte 1 Conhecendo o Sistema e Primeiro Programa Roteiro Pré-requisitos Conceitos Básicos Configurando o Ambiente
Leia maisProgramação para Dispositivos Móveis
Prof. MSc. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br Programação para Dispositivos Móveis Aula: CRUD Agenda com SQLite Parte II Caxias - MA Projeto Android Estrutura Activity MainActivity.java
Leia maisALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados
ALGORITMOS Professor: Diego Oliveira Aula 06 - Tipos Primitivos de Dados Netbeans Para testar nossos exemplos criaremos uma classe no Netbeans Nesta disciplina não será visto nada de orientação a objetos,
Leia maisDESENVOLVIMENTO DE APLICAÇÕES SIMPLES
Linguagens e Suas Tecnologias Unidade C Caro(a) Aluno(a), até agora nos detivemos basicamente em conhecer a arquitetura utilizada pelo Android, alguns conceitos iniciais relacionados a essa plataforma
Leia maisDesenvolvimento de um aplicativo básico usando o Google Android
Desenvolvimento de um aplicativo básico usando o Google Android (Activity e Intent) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte
Leia maisIntrodução à Programação Android: LocationManager
Introdução à Programação Android: LocationManager Guilherme Antonio Borges guilhermeborges.pf@gmail.com Apresentação dos Exercícios 1. Criação de uma tela menu simples que acessa através de um evento em
Leia maisMódulo 4 - Interface Gráfica Gerenciadores de Layout. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ
Módulo 4 - Interface Gráfica Gerenciadores de Layout Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ Classe View Todos os componente gráficos são filhos de View Para se criar um novo componente
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
Leia maisGoogle Android. Broadcast Receiver
Broadcast Receiver Permite que aplicações possam reagir a determinado evento gerado por uma intenção (Intent) que nada mais é que uma mensagem (Message-Passing) enviada ao SO. App1 App Client Intent App2
Leia maisArmazenamento Persistente de Dados
Programação para a Plataforma Android Aula 10 Armazenamento Persistente de Dados Como armazenar as opções de preferência de uma aplicação? Como tocar músicas em uma a@vidade Android? Como armazenar dados
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisAula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -
Programação Orientada a Objetos Aula 4 Programação Orientada a Objetos Entrada e Saída de Dados 1 O exemplo abaixo emprega o pacote Swing (javax.swing), que emprega componentes gráficos Java. //AloMundo
Leia maisPrimeira Prova de Linguagens de Programação - DCC024B -
Primeira Prova de Linguagens de Programação - DCC024B - Ciência da Computação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem
Leia maisLog, Ciclo de Vida e Diálogos. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)
Log, Ciclo de Vida e Diálogos Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Conteúdo Log Classe android.u:l.log LogCat Ciclo de Vida Pilha de a:vidades Métodos e estados da a:vidade Instance State
Leia maisnome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){
UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------
Leia maisComputação Móvel Activity (Ref. Cap. 4)
Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Computação Móvel Activity (Ref. Cap. 4) Vicente Amorim vicente.amorim.ufop@gmail.com Sumário * Activity - Classes FragmentActivity
Leia maisG-SMS: Protótipo de uma aplicação de envio de SMS georeferenciadas
G-SMS: Protótipo de uma aplicação de envio de SMS georeferenciadas Carlos Roberto Bender Acadêmico Mauro Marcelo Mattos - Orientador Roteiro Introdução/Objetivos Fundamentação teórica Desenvolvimento do
Leia mais4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
Programação Orientada a Objetos Aula 4 Programação Orientada a Objetos Entrada e Saída de Dados GUI em Java: pacote Swing O exemplo abaixo emprega o pacote Swing (javax.swing), que emprega componentes
Leia maisAndroid Banco de Dados. Ivan Nicoli
Android Banco de Dados Ivan Nicoli SQLite O Android tem suporte ao SQLite (http://www.sqlite.org), um leve e poderoso banco de dados. Cada aplicação pode criar um ou mais banco de dados, que ficam localizados
Leia maisJava RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação
Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar
Leia maisImplementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias
Leia maisCIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO
REVISÃO POO INTRODUÇÃO À LINGUAGEM JAVA CRIANDO CLASSES EM JAVA Convenção de Nomes em Java Classes iniciam com letras maiúsculas Métodos, atributos e variáveis locais iniciam com minúsculas. Declaração
Leia maisDesenvolvimento para Android Prá9ca 2. Prof. Markus Endler
Desenvolvimento para Android Prá9ca 2 Prof. Markus Endler Criando o primeiro projeto Android Com o ambiente de desenvolvimento preparado, vá em File - > New - > Project... Na janela que abrir, selecione
Leia maisDESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO
DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO Dialogs Dialogs são caixas de informações que servem para alertar o usuário sobre algo ou para solicitar algum tipo de informação
Leia mais============================== Exemplo ListView MainActivity.java
FACULDADE DE TECNOLOGIA SENAC PELOTAS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Tópicos Avançados em ADS Edécio Fernando Iepsen ============================== Exemplo ListView
Leia maisProgramação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho
Programação para Android Aula 10: Acesso a câmera, sms e recursos do aparelho Objetivos Nesta aula iremos aprender como invocar os recursos do aparelho: Fazer chamadas telefônicas Enviar SMS Utilizar a
Leia maisCONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que
Leia maisJavaFX Classe de Controle e Eventos. Prof. Vicente Paulo de Camargo
JavaFX Classe de Controle e Eventos Prof. Vicente Paulo de Camargo Labels são componentes que permitem auxiliar na compreensão de uma interface gráfica, principalmente para indicar as identificações de
Leia maisProgramação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -
Programação Java - Herança e Polimorfismo - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes relacionadas entre
Leia mais