Comunicação entre A0vidades
|
|
|
- Diogo Canela Tuschinski
- 10 Há anos
- Visualizações:
Transcrição
1 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 página web no disposi0vo móvel? Como usar expressões regulares para extrair informação de texto? Como exibir listas de dados na tela do aparelho celular?
2 O Modelo Android O modelo de execução é composto por várias a0vidades. Essas podem ser usadas como aplicações independentes. Mas também ficam à disposição de outras aplicações. Bem diferente de um sistema operacional tradicional, em que cada processo não tem qualquer vínculo com os outros.
3 Comunicação entre processos Quais aplica0vos um programa como o MicrosoO Word pode chamar enquanto executa? O MSWord pode chamar o Mozilla Firefox? Em Android um aplica0vo pode chamar qualquer outro aplica0vo. Por que é possível essa integração em Android? Quais os benevcios dessa integração?
4 Abrindo um Navegador Escreva uma atividade que possua uma caixa de texto e um botão, e que, tendo sido o botão pressionado, invoque um navegador para abrir a URL que estiver escrita na caixa de texto.
5 Layout da A0vidade Por agora, escrever esse layout deve ser facinho, facinho:
6 Layout da A0vidade caller.xml E como podemos invocar o navegador a partir de uma atividade? <LinearLayout xmlns:android="h^p://schemas.android.com/apk/res/android" android:id="@+id/root" android:orienta0on="ver0cal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/text1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" /> <Bu^on android:id="@+id/bu^on1" android:text="@string/okbu^onlabel" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" /> </LinearLayout>
7 CallerAc0vity.java Invocando o Navegador public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.caller); ((Bu^on) findviewbyid(r.id.bu^on1)).setonclicklistener(new Bu^on.OnClickListener() { public void onclick(view arg0) { EditText t = (EditText) findviewbyid(r.id.text1); String urlname = t.gettext().tostring(); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlName)); startac@vity(intent); } }); Para que servem essas linhas de código?
8 Permissões Por questões de segurança, alguns recursos do aparelho são privilegiados. U0lizar esses recursos requer permissão. O canal de comunicação é um desses recursos. Permissões são asseguradas no manifesto
9 Manifesto <?xml version="1.0" encoding="ur 8"?> <manifest xmlns:android="h^p://schemas.android.com/apk/res/android" package="com.aula8" android:versioncode="1" android:versionname="1.0"> <applica0on </applica0on> <uses permission android:name="android.permission.internet"> </uses permission> </manifest>
10 Escolhendo uma A0vidade public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.caller); ((Bu^on) findviewbyid(r.id.bu^on1)) Existem várias.setonclicklistener(new Bu^on.OnClickListener() { atividades capazes public void onclick(view arg0) { de lidar com URLs. EditText t = (EditText) findviewbyid(r.id.text1); Android nos String urlname = t.gettext().tostring(); mostra todas elas. Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlName)); startac0vity(intent); } });
11 Escolhendo uma A0vidade public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.caller); ((Bu^on) findviewbyid(r.id.bu^on1)).setonclicklistener(new Bu^on.OnClickListener() { public void onclick(view arg0) { EditText t = (EditText) findviewbyid(r.id.text1); String urlname = t.gettext().tostring(); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlName)); startac0vity(intent); } });
12 A0vidades, Contextos, Intenções Activity é um processo que executa em sua aplicação Android. Funciona como uma máquina de estados. Intent s são os objetos usados para que diferentes a0vidades possam comunicar se. Context é a classe pai de Ac0vity, e possui métodos para passar Intents entre as a0vidades.
13 Alguns métodos de Activity Intent getintent() Esse método retorna a intenção com a qual a a0vidade foi chamada. Uma a0vidade não mantém vínculos diretos com a a0vidade que a iniciou. Essa comunicação, em geral é feita via Intents. setintent(intent) Usado para definir a intenção com a qual uma a0vidade é chamada.
14 View Fonte Escreva uma atividade que mostre na tela do dispositivo o texto de uma página web. Como será o layout dessa aplicação?
15 sourceview.xml ScrollView <ScrollView xmlns:android="h#p://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dip"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" /> </ScrollView> E como será a atividade?
16 Visualizador de Fontes de HTML TextViewAc0vity.java import android.app.ac0vity; import android.content.intent; import android.os.bundle; import android.widget.textview; public class TextViewAc0vity extends Ac0vity { private TextView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.sourceview); text = (TextView) findviewbyid(r.id.textview); Intent intent = getintent(); URL url = Useful.openPage(intent); text.settext(useful.htmltostring(url)); } }
17 Visualizador de Fontes de HTML public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.sourceview); text = (TextView) findviewbyid(r.id.textview); Intent intent = getintent(); URL url = Useful.openPage(intent); text.settext(useful.htmltostring(url)); } O que esse comando faz? Estamos criando uma mini biblioteca E esse comando, como funciona?
18 Useful.java Abrindo uma página web public sta0c URL openpage(intent intent) { Uri data = intent.getdata(); URL url = null; try { url = new URL(data.getScheme(), data.gethost(), data.getpath()); } catch (MalformedURLExcep0on e) { e.printstacktrace(); } return url; } O que é o esquema de uma URI? E o host de uma URI, o que é? Recursos em Android são codificados como URIs. E por último, o que é esse path?
19 Useful.java Entendendo uma URI public sta0c URL openpage(intent intent) { Uri data = intent.getdata(); URL url = null; try { Log.v("Useful scheme", data.getscheme()); Log.v("Useful host", data.gethost()); Log.v("Useful path", data.getpath()); url = new URL(data.getScheme(), data.gethost(), data.getpath()); } catch (MalformedURLExcep0on e) { e.printstacktrace(); } return url; } O que será impresso para a URI acima?
20 Useful.java Entendendo uma URI public sta0c URL openpage(intent intent) { Uri data = intent.getdata(); URL url = null; try { Log.v("Useful scheme", data.getscheme()); Log.v("Useful host", data.gethost()); Log.v("Useful path", data.getpath()); url = new URL(data.getScheme(), data.gethost(), data.getpath()); } catch (MalformedURLExcep0on e) { e.printstacktrace(); } return url; } :49:05.633: VERBOSE/ Useful scheme: h^p :49:05.663: VERBOSE/ Useful host :49:05.673: VERBOSE/ Useful path /~fpereira/links Ainda falta implementar htmltostring
21 Useful.java htmltostring public sta0c String htmltostring(url url) { String text = ""; BufferedReader rd = null; try { rd = new BufferedReader (new InputStreamReader(url.openStream())); String line = null; while ((line = rd.readline())!= null) { text += line; } } catch (IOExcep@on e) { e.printstacktrace(); } return text; } Como explicar para o ambiente de execução que essa atividade entende de endereços web? O método anterior também possuia tratamento de exceções. O que é isso? Será que o programa compila sem esse código de tratamento de exceções?
22 Useful.java Bibliotecas public sta0c String htmltostring(url url) { String text = ""; BufferedReader rd = null; try { rd = new BufferedReader (new InputStreamReader(url.openStream())); String line = null; while ((line = rd.readline())!= null) { text += line; } } catch (IOExcep0on e) { e.printstacktrace(); } return text; } A classe Useful é uma biblioteca. O que é isso? Qual a diferença de bibliotecas para arcabouços? Que outras bibliotecas nós conhecemos?
23 manifest.xml Manifesto <ac0vity android:name=".textviewac0vity" > <intent filter> <ac0on /> <category android:name="android.intent.category.default" /> <data android:scheme="h^p" /> </intent filter> </ac0vity> E qual a diferença entre ação e categoria? Que outras ações nós já vimos? E que outras categorias já vimos?
24 Ainda o Manifesto <?xml version="1.0" encoding="ur 8"?> <manifest xmlns:android="h^p://schemas.android.com/apk/res/android" package="com.aula7" android:versioncode="1" android:versionname="1.0"> <applica0on android:icon="@drawable/icon" android:label="@string/app_name"> <ac@vity android:name=".callerac@vity" android:label="@string/app_name"> <intent filter> <ac@on android:name="[email protected]" /> <category android:name="android.intent.category.launcher" /> </intent filter> </ac@vity> <ac@vity android:name=".textviewac@vity" android:label="@string/textviewappname"> <intent filter> <ac@on android:name="[email protected]" /> O que acontece quando existem várias atividades capazes de tratar um recurso? <category android:name="android.intent.category.default" /> <data android:scheme="h]p" /> </intent filter> </ac@vity> </applica0on> <uses permission android:name="android.permission.internet"></uses permission> </manifest>
25 Várias a0vidades <?xml version="1.0" encoding="ur 8"?> <manifest xmlns:android="h^p://schemas.android.com/apk/res/android" package="com.aula7" android:versioncode="1" android:versionname="1.0"> <applica0on <intent filter> O que determina o nome de cada ícone? <ac@on android:name="[email protected]" /> <category android:name="android.intent.category.launcher" /> </intent filter> </ac@vity> <ac@vity android:name=".textviewac@vity" android:label="@string/textviewappname"> <intent filter> <ac@on android:name="[email protected]" /> <category android:name="android.intent.category.default" /> <data android:scheme="h]p" /> </intent filter> </ac@vity> </applica0on> <uses permission android:name="android.permission.internet"></uses permission> </manifest>
26 Buscas em Texto Altere o exemplo anterior para não somente mostrar o texto da página web, mas também permitir a busca de palavras nesse texto. Seu layout deverá possuir uma caixa de texto para receber o dado de pesquisa, um botão para iniciar a pesquisa, e uma caixa de texto contendo o texto fonte. Sua aplicação deverá exibir, em um Toast, o número de ocorrências do padrão procurado. Comecemos pelo layout. Como seria?
27 search.xml <LinearLayout android:orienta0on="verdcal" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="h#p://schemas.android.com/apk/res/android"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <EditText android:width="240sp" android:layout_width="wrap_content" android:layout_height="wrap_content"> </EditText> <Bu^on android:layout_width="wrap_content" android:layout_height="wrap_content"> </Bu^on> </LinearLayout> <ScrollView xmlns:android="h#p://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dip"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" /> </ScrollView> </LinearLayout> Layout de nosso buscador Parte da atividade nós já vimos, não já?
28 Carregando o texto da página public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.search); text = (TextView) findviewbyid(r.id.textview); Intent intent = getintent(); URL url = Useful.openPage(intent); text.settext(useful.htmltostring(url)); final EditText tb1 = (EditText) findviewbyid(r.id.edittext01); Bu^on bt = (Bu^on) findviewbyid(r.id.bu^on01); bt.setonclicklistener(...); } O que o evento do botão deve fazer? Como implementar esse evento?
29 Expressões Regulares TextSearchAc0vity.java bt.setonclicklistener(new Bu^on.OnClickListener() { public void onclick(view arg0) { int counter = 0; String pa^ernstr = tb1.gettext().tostring(); String htmltext = text.gettext().tostring(); Pa]ern pa^ern = Pa^ern.compile(pa^ernStr); Matcher pagematcher = pa^ern.matcher(htmltext); while (pagematcher.find()) { counter++; } Toast.makeText([email protected], "" + counter, Toast.LENGTH_SHORT).show(); } }); O que são expressões regulares? E esse código, ele faz o quê?
30 Expressões Regulares bt.setonclicklistener(new Bu^on.OnClickListener() { public void onclick(view arg0) { int counter = 0; String pa^ernstr = tb1.gettext().tostring(); String htmltext = text.gettext().tostring(); Pa^ern pa^ern = Pa^ern.compile(pa^ernStr); Matcher pagematcher = pa^ern.matcher(htmltext); while (pagematcher.find()) { counter++; } Toast.makeText(TextSearchAc0vity.this, "" + counter, Toast.LENGTH_SHORT).show(); } }); Ainda temos de adicionar a atividade ao manifesto Esse nome, Toast, designa um objeto?
31 Mais Manifesto manifest.xml <ac0vity android:name=".textsearchac0vity" <intent filter> <ac0on android:name="android.intent.ac0on.view" /> <category android:name="android.intent.category.default" /> <data android:scheme="h^p" /> </intent filter> </ac0vity>
32 Crie agora uma nova atividade, que também trata URLs. Dessa vez, a sua atividade deverá abrir uma página web, e extrair todos os links daquela página e exibílos em uma lista. Caso o usuário clique em algum desses links, então sua atividade deverá abrir uma página web mostrando o conteúdo daquele endereço. Buscas de links Comecemos pelo layout. Como seria?
33 Layout Pré Montados de Listas public class LinkViewAc0vity extends ListAc0vity implements AdapterView.OnItemLongClickListener, AdapterView.OnItemClickListener public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); Intent intent = getintent(); URL url = Useful.openPage(intent); String htmltext = Useful.htmlToString(url); List<String> links = extractlinks(htmltext); setlistadapter(new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1, links)); getlistview().settextfilterenabled(true); getlistview().setonitemclicklistener(this); getlistview().setonitemlongclicklistener(this); } } LinkViewAc0vity.java Onde essa classe foi declarada? Temos de implementar esse método. Adaptadores são outro padrão de projetos.
34 Adaptadores Adapter é um padrão de projetos que procura adaptar uma interface às necessidades de algum cliente. Trata se tão somente de uma camada em torno de um objeto, que converte a interface desse objeto para a interface esperada pelo cliente. O que estava sendo adaptado no exemplo anterior? Mas, enfim ainda temos de implementar extractlinks
35 Extraindo Links LinkViewAc0vity.java private List<String> extractlinks(string htmltext) { Pa^ern linkpa^ern = Pa^ern.compile( "(h]ps? bp file)://[ a za Z0 9+&@#/%?=~_!:,.;]*[ a za Z0 9+&@#/%=~_ ]", Pa]ern.CASE_INSENSITIVE Pa]ern.DOTALL); Matcher pagematcher = linkpa^ern.matcher(htmltext); List<String> links = new ArrayList<String>(); while (pagematcher.find()) { links.add(pagematcher.group()); } return links; } E essas constantes, o que querem dizer? O que quer dizer essa expressão regular?
36 LinkViewAc0vity.java Eventos para public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); Intent intent = getintent(); URL url = Useful.openPage(intent); String htmltext = Useful.htmlToString(url); List<String> links = extractlinks(htmltext); setlistadapter(new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1, links)); getlistview().settextfilterenabled(true); getlistview().setonitemclicklistener(this); getlistview().setonitemlongclicklistener(this); } Qual a diferença entre esse tipo de evento e esse? Então vamos começar implementando esse tipo de evento.
37 LinkViewAc0vity.java Abrindo mais páginas web public void onitemclick(adapterview<?> av, View v, int pos, long id) { String urlname = ((TextView) v).gettext().tostring(); Intent browserintent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlName)); startac0vity(browserintent); finish(); } E como abrir uma atividade específica? Qual atividade será aberta por esse tratador de eventos? O que quer dizer essa sintaxe?
38 Invocando uma a0vidade específica LinkViewAc0vity.java public boolean onitemlongclick (AdapterView<?> av, View v, int pos, long id) { String urlname = ((TextView) v).gettext().tostring(); Intent i = new Intent(this, [email protected]); i.putextra("url", urlname); startac0vity(i); return false; } Temos de implementar essa atividade!
39 WebView web.xml Android determina um layout para visões web: <?xml version="1.0" encoding="ur 8"?> <LinearLayout xmlns:android= "h^p://schemas.android.com/apk/res/android" android:orienta0on="ver0cal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <WebView android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
40 WebViewAc0vity.java WebView public class WebViewAc0vity extends Ac0vity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.web); WebView webview = (WebView) findviewbyid(r.id.webview); webview.getse Intent i = getintent(); String urlname = i.getstringextra("url"); webview.loadurl(urlname); } } ngs().setjavascriptenabled(true); Não esqueçam de adicionar a atividade ao manifesto! Como se dá a comunicação entre as atividades?
41 Manifesto AndroidManifest.xml <ac0vity android:name=".webviewac0vity" android:label="newwebview" > <intent filter> <ac0on android:name="android.intent.ac0on.view" /> <category android:name="android.intent.category.default" /> <data android:scheme="h^p" /> </intent filter> </ac0vity>
42 LinkViewAc0vity.java Comunicação entre A0vidades public boolean onitemlongclick (AdapterView<?> av, View v, int pos, long id) { String urlname = ((TextView) v).gettext().tostring(); Intent i = new Intent(this, WebViewAc0vity.class); i.putextra("url", urlname); startac0vity(i); return false; } WebViewAc0vity.java public class WebViewAc0vity extends Ac0vity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.web); WebView webview = (WebView) findviewbyid(r.id.webview); webview.getse ngs().setjavascriptenabled(true); Intent i = getintent(); String urlname = i.getstringextra("url"); webview.loadurl(urlname); } }
43 Intenções Implícitas e Explicitas Intenções explícitas abrem uma a0vidade específica. Essas intenções contêm o nome da a0vidade alvo. Em geral são usados para comunicação entre a0vidades da mesma aplicação. Intent i = new Intent(this, SomeAc'vity.class); i.putextra("key", value); startac'vity(i);
44 Intenções Implícitas e Explicitas Intenções implícitas fazem um chamado para qualquer a0vidade que saiba lidar com elas. Em geral são usados para comunicação entre a0vidades de aplicações diferentes. Usam filtros para indicar a a0vidade alvo. Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlName)); startac'vity(intent);
Programaçã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 [email protected] São Paulo, Março, 2012
Provedores 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
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
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
Programação de Dispositivos Móveis
Aula 07 Programação de Dispositivos Móveis Interface Gráfica ListView com ArrayAdapter Um elemento muito utilizado em aplicativos é a ListView, com ela pode-se criar uma lista de objetos. A partir dos
Programaçã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
Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler
Desenvolvimento para Android Prá3ca 3 Prof. Markus Endler Exercício 3.1 Solicitando permissão para abrir uma página Web ü Criaremos uma Ac.vity com um EditText (para entrada de uma URL), um Bu?on e uma
Mó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,
Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ
Introdução ao Android SECAP 2014 Prof. Rone Ilídio - UFSJ O que é o Android? Sistema operacional móvel, baseado numa versão modificada do Linux. Código aberto: qualquer pessoa pode baixar e modificar Máquina
Android Layout Manager. Ivan Nicoli
Android Layout Manager Ivan Nicoli Classe View A classe android.view.view é a classe mãe de todos os componentes visuais do Android. Qualquer desenvolvedor pode criar seu próprio componente herdando a
Programa de Dispositivos Móveis
Aula 02 - Exercício Programa de Dispositivos Móveis PDM - Aula02 - Exercício- Ver 02-04/06/2014 08:56 Criando Aplicação Android (BasicView) Vamos continuar a criar interfaces gráficas (UI) básicas com
Comunicação via Sockets
Programação para a Plataforma Android Aula 9 Comunicação via Sockets O que são sockets? O que são data access objects? Como criar servidores de serviços distribuídos? Aplicações mulb threading simples
Armazenamento 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
Programaçã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 [email protected]
Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ
Introdução ao Android Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ O que é o Android? Sistema operacional móvel, baseado numa versão modificada do Linux. Código aberto: qualquer pessoa pode
Prof. Jhonatan Fernando
Prof. Jhonatan Fernando É uma classe gerenciadora de UI. É possível informar qual layout (arquivo xml) que será carregado para uma determinada activity. O método responsável por informar qual layout será
Programação para Android. Aula 05: Estilos e temas; galeria de imagens
Programação para Android Aula 05: Estilos e temas; galeria de imagens Objetivos Aplicar estilos e temas Criar uma galeria de imagens com o widget Gallery Parte 01: Estilos e temas Interface de Usuários
Desenvolvimento 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
Programação para Android. Aula 06: Activity, menus e action bar
Programação para Android Aula 06: Activity, menus e action bar Activity A classe Activity é quem gerencia a interface com o usuário. Ela quem recebe as requisições, as trata e processa. Na programação
Mó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
Introdução ao Desenvolvimento para Sistema Operacional Android
Dr. [email protected] Conteúdo: 1) Introdução ao Android e Mercado de Dispositivos Móveis; 2) Plataforma: 2.1) Arquitetura; 2.2) Framework; 2.3) Bibliotecas; 2.4) Android Runtime; 2.5) Linux
Google Android. Intents
Intents Intents Intents são usados como mecanismo de passagem de mensagens na sua aplicação ou entre aplicações distintas. Intents podem ser usadas para: Declarar a intenção de iniciar uma Activity ou
Programaçã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
Programaçã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
Programa de Dispositivos Móveis
Aula 02 Programa de Dispositivos Móveis A Classe Activity A classe Actvity é similar a classe JFrame do Swing representa basicamente uma tela. Quase todas as atividades interagem com o usuário, então ela
Programação de Dispositivos Móveis
Aula 04 Programação de Dispositivos Móveis A Classe Activity É obrigatório que cada activity do projeto esteja declarada no arquivo AndroidManisfest.xml, caso contrário não é possível utilizá-la. Para
Programação para a Plataforma Android Aula 11. Banco de Dados
Programação para a Plataforma Android Aula 11 Banco de Dados Introdução a linguagem SQL O banco de dados SQLite Como criar e manipular um banco de dados em Android Como apresentar dados na tela do aparelho
Android Core. Felipe Silveira felipesilveira.com.br. Aula 6
Android Core Felipe Silveira felipesilveira.com.br Aula 6 Aplicações I Desenvolvimento de Aplicações Android SDK SDK https://developer.android.com/sdk Android SDK Android SDK: Eclipse + ADT plugin + Android
Android 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
ANDROID APPLICATION PROJECT
Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois
Desenvolvimento 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
( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO
Serviço Nacional de Aprendizagem Comercial E.E.P. Senac Pelotas Centro Histórico Programa Nacional de Acesso ao Ensino Técnico e Emprego Curso Técnico em Informática ( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO
Tutorial 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
Programação em Java para a Plataforma Android AULA 1. Primeiros Passos
Programação em Java para a Plataforma Android AULA 1 Primeiros Passos O que é Android Como é o desenvolvimento de aplicações para esse ambiente O que é preciso para começar a programar ABvidades, o início
Programaçã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
Log, Ciclo de Vida e Diálogos. Prof. Fellipe Aleixo ([email protected])
Log, Ciclo de Vida e Diálogos Prof. Fellipe Aleixo ([email protected]) 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
AULA 2. Minicurso PET-EE UFRN
AULA 2 Minicurso PET-EE UFRN Agora iremos mostrar o passo-a-passo de como criar um projeto no Android Studio. 1. No Android Studio, crie um New Project. 2. Em Configure your new project, você deve preencher
Login. 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)
HCI Summer Workshop. Android #1. Tiago Guerreiro. [email protected]
HCI Summer Workshop Android #1 Tiago Guerreiro [email protected] Introdução Equipa Luis Carriço Tiago Guerreiro Luis Duarte Diogo Marques Gonçalo Gomes Eduardo Matos Nikolay Stanchenko Rafael Nunes Filipe
PROPOSTA 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
Google 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
Retrofit. 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
Programação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 03 Introdução ao ambiente de desenvolvimento: Eclipse e Android SDK Dalton Martins [email protected] São
Desenvolvimento 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
Manual de utilização do sistema OTRS (Atendimento) Cliente Externo
Manual de utilização do sistema OTRS (Atendimento) Cliente Externo 1 LISTA DE ILUSTRAÇÕES FIGURA 1 - TELA DE LOGIN... 5 FIGURA 2 - TELA INICIAL... 6 FIGURA 3 PREFERÊNCIAS DO USUÁRIO... 6 FIGURA 4 NOVO
Interfaces Gráficas parte 3
parte 3 (Listview, AlertDialog e ActionBar) 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
============================== 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
CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android
Conteúdo detalhado CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android Android Básico 1. Dispositivos Android 2. Instalação do Android 3. Emuladores de Android 4. Exercício:
Desenvolvimento de um aplicativo básico usando o Google Android
Desenvolvimento de um aplicativo básico usando o Google Android (BroadcastReceiver) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte
Programação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 04 Anatomia de uma aplicação Android Dalton Martins [email protected] São Paulo, Fevereiro, 2012 24/02/12
Prototype, um Design Patterns de Criação
Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe
ESPECIFICAÇÃO TÉCNICA CIELO MOBILE CAIXA RÁPIDO. Julho de 2015
ESPECIFICAÇÃO TÉCNICA CIELO MOBILE CAIXA RÁPIDO Julho de 2015 Fevereiro, 2015 Í N D I C E VERSÃO DO DOCUMENTO... 7 INTRODUÇÃO... 7 OBJETIVO... 7 CENÁRIO... 7 FUNCIONAMENTO... 7 INTEGRAÇÃO... 8 MENSAGENS...
Manual do PolicyKit-kde. Daniel Nicoletti Tradução: Luiz Fernando Ranghetti
Daniel Nicoletti Tradução: Luiz Fernando Ranghetti 2 Conteúdo 1 Resumo 5 2 Como funciona 6 2.1 Resumo............................................ 6 2.2 O problema.........................................
Mó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
Android: Ciclo de vida da Activity
Se sua aplicação estiver em execução e o celular receber uma ligação? O que acontecerá com seu aplicativo? Quais métodos serão executados e em qual ordem? Para respondermos essas perguntas e entendermos
Introduçã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
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Componentes Visuais Gerenciadores de Layouts Professor: Danilo Giacobo OBJETIVOS DA AULA Apresentar os conceitos básicos da programação de interfaces visuais para Android
INTRODUÇÃO À TECNOLOGIA SERVLETS
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores
Android 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
Facebook Instruções de integração com PayPal
Facebook Instruções de integração com PayPal Há diversas formas de utilizar o PayPal para receber pagamentos na plataforma do Facebook. Primeiro você precisa decidir suas necessidades para a opção mais
INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período
INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ADS 6º Período Activity INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Activity A classe activity
Access Control Lists - ACL. Treinamento OTRS Help Desk
Access Control Lists - ACL Treinamento OTRS Help Desk Sumário Introdução... 3 Seções compõe as ACLs...4 Properties... 4 PropertiesDatabase...4 Possible... 4 PossibleNot... 4 Propriedades... 6 Action...
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Implementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Tratamento de Eventos Professor: Danilo Giacobo OBJETIVOS DA AULA Apresentar os modelos mais comuns de tratamento de eventos da plataforma Android. Aprender a utilizar
Manual Sistema Mó vel Msys Cómercial
Manual Sistema Mó vel Msys Cómercial Maravilha, 2014. 1 Sumário 1. REQUISITOS MÍNIMOS... 3 2. PRINCIPAIS TELAS E FUNCIONALIDADES... 4 2.1.1. Tela de acesso ao sistema.... 4 2.1.2. Tela Principal do Sistema....
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Internacionalização e Literais Professor: Danilo Giacobo OBJETIVOS DA AULA Aprender as vantagens do uso de literais e da internacionalização em aplicativos Android.
Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br [email protected]
Manual de Utilização do Zimbra
Manual de Utilização do Zimbra Compatível com os principais navegadores web (Firefox, Chrome e Internet Explorer) o Zimbra Webmail é uma suíte completa de ferramentas para gerir e-mails, calendário, tarefas
INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período
INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ADS 6º Período INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Interface gráfica - View A classe android.view.view é utilizada como base para qualquer
WEBDESIGN. Professor: Paulo Marcos Trentin - [email protected] http://www.paulotrentin.com.br Escola CDI de Videira
WEBDESIGN Professor: Paulo Marcos Trentin - [email protected] http://www.paulotrentin.com.br Escola CDI de Videira Formulários e JavaScript Como visto anteriormente, JavaScript pode ser usada para
CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;
CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.
FERRAMENTAS DE COLABORAÇÃO CORPORATIVA
FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Compartilhamento de Arquivos no Google Drive Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução...
Programação para a Plataforma Android Aula 4. Objetos Gráficos
Programação para a Plataforma Android Aula 4 Objetos Gráficos Depuração simples: imprimindo eventos Lidando com botões e spinners Carregando múleplas aevidades em uma aplicação O padrão adapter Mostrando
Google Android. Componentes Gráficos
Componentes Gráficos No Android, por padrão já existe uma separação entre interface gráfica (View) e Controlador (Controller). View -> Resources -> Controller -> Activities -> Layouts Um tipo de View cuja
Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico
Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT Power Point Básico Santa Maria, julho de 2006 O Power Point é um aplicativo do Microsoft Office direcionado à criação de apresentações.
Display de Cristal Líquido
TUTORIAL Display de Cristal Líquido Autor: Tiago Lone Nível: Básico Criação: 09/03/2006 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br [email protected]
DarkStat para BrazilFW
DarkStat para BrazilFW ÍNDICE Índice Página 1 O que é o DarkStat Página 2 DarkStat e a inicialização do sistema Página 2 DarkStat e a finalização do sistema Página 2 Tela Principal do DarkStat Página 3
Capítulo 04: Persistência com SQLite
Capítulo 04: Persistência com SQLite Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI [email protected] sites.google.com/site/marcio
ESPECIFICAÇÃO TÉCNICA CIELO MOBILE CHAMADA EXTERNA. Maio de 2015
ESPECIFICAÇÃO TÉCNICA CIELO MOBILE CHAMADA EXTERNA Maio de 2015 Fevereiro, 2015 Í N D I C E VERSÃO DO DOCUMENTO... 7 INTRODUÇÃO... 7 OBJETIVO... 7 CENÁRIO... 7 FUNCIONAMENTO... 7 INTEGRAÇÃO... 8 MENSAGENS...
Parte I. Demoiselle Mail
Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework
Professor: Macêdo Firmino Disciplina: Redes de Computadores II
Professor: Macêdo Firmino Disciplina: Redes de Computadores II Em um computador baseado no Windows, você pode compartilhar arquivos entre usuários remotos (outro computador). Os usuários remotos se conectam
Ela funciona de um jeito parecido com as mídia de RSS próprio: o sistema acessa o feed do twitter e exibe, na tela, os últimos tweets.
Mídia do Twitter Esta mídia serve para mostrar os últimos tweets de uma conta específica. É útil para estabelecimentos que usam com frequência o twitter e que desejam que seus clientes acompanhem isso
Acessando um Banco de Dados
Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para
Criando uma agenda simples com NetBeans 6.5
Criando uma agenda simples com NetBeans 6.5 (Swing application framework e Beansbinding) Já faz algum tempo que escrevi uma agenda simples usando o Eclipse com o Visual Class Editor. Demorei em torno de
FBV - Linguagem de Programação II. Um pouco sobre Java
FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base
Configuração de Cliente de Web Service HTTPS
Configuração de Cliente de Web Service HTTPS Envio de registros civis ao SIRC através de Central de Registros Civis Configurando_Cliente_de_Web_Service_HTTPS.odt 1 de 20 Histórico de Revisões Data Versão
A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente
Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto
GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM
GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM ÍNDICE ITEM Página 1. Objetivo... 3 2. Requisitos... 3 3. Diretório do Slim... 3 4. Procedimento para Transferência de Servidor... 3 4.1 Compartilhamento da
GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM
GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM ÍNDICE ITEM Página 1. Objetivo... 3 2. Requisitos... 3 3. Diretório do Millennium... 3 4. Procedimento para Transferência de Servidor... 3 4.1 Compartilhamento
1 Cadastre-se Mozilla Firefox. AQUI Esqueci a senha Login Senha. Esqueci a senha E-mail Login Enviar Solicitação OBS: Nome: Login: E-mail:
1 Essa é a tela de login do Sistema de Atendimento, siga o passo a passo abaixo. Se esse é o seu primeiro cadastro, clique em Cadastre-se. O sistema só irá funcionar perfeitamente se for acessado pelo
