Programação para a Plataforma Android Aula 16. Fragmentos

Tamanho: px
Começar a partir da página:

Download "Programação para a Plataforma Android Aula 16. Fragmentos"

Transcrição

1 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 durante a sua execução? Como criar caixas de diálogo itera?vas? Criando uma aplicação para ler livros.

2 Múl?plas a?vidades na tela Até aqui, sempre trabalhamos com uma a?vidade por tela. De fato, tecnicamente não é possível combinar múl?plas a?vidades em uma mesma tela. Por outro lado, isso seria bastante desejável. Por que seria interessante combinarmos duas atividades em uma mesma tela?

3 Um Exemplo Você poderia descrever cada uma dessas visões em XML?

4 Visões e Reuso Em princípio, podemos construir visões como esta à direita em XML. Porém, se cada uma das visões que a compõem fossem a?vidades separadas, teríamos muito mais reúso. Porquê?

5 Fragmentos A fim de separar a?vidades e visões, Android 3.0 (API 11) trouxe o conceito de Fragmentos. Fragmentos são quase a?vidades. Fragmentos possuem três vantagens: Aumentam o reúso de a?vidades. Permitem a construção de telas com múl?plas visões. Permitem a modificação da visão de uma a?vidade em tempo de execução. Lembrem-se dessas vantagens, pois vamos discutílas depois.

6 Telas de Vários Tamanhos Fragmentos podem ser programados para adaptar se à vários?pos de telas.

7 Telas de Vários Tamanhos Desde Android 3.0, temos também infraestrutura para criar vários?pos de layouts.

8 Caixa de Diálogo Intera?va Caixa de Diálogo: Crie uma caixa de diálogo com dois botões: cancel e ok. Escolhendo cancel, uma alerta com esse nome deve aparecer na atividade principal. Escolhendo ok, uma alerta com essa palavra deve ser exibida pela atividade principal. Como fragmentos são declarados. Como fragmentos são criados. Como fragmentos trocam informações com a?vidades.

9 Por onde começamos? Visão geral da aplicação

10 Mas antes de começarmos Fragmentos existem somente a par?r de Android 3.0 (API 11). E mesmo assim, são pacotes na?vos somente a par?r de 4.1 (API 16). Entre as APIs 11 e 15, fragmentos são uma biblioteca de suporte. Que pode ser baixada e instalada com o SDK.

11 Layout da A?vidade Principal Como é o layout da atividade principal?

12 Layout da A?vidade Principal Por agora, isso já devia ser coisa muito simples ac?vity_main.xml <?xml version="1.0" encoding="u8 8"?> <LinearLayout xmlns:android= "h>p://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orienta?on="verecal" > <Bulon android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout> E como seria a implementação da atividade?

13 Layout da A?vidade Principal Aula16Ac?vity.xml public class Aula16Ac?vity extends FragmentAc?vity implements OnClickListener { Por agora, isso já devia ser coisa muito public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Bulon bulonpostdialog = (Bulon) findviewbyid(r.id.bulon_post_dialog); bulonpostdialog.setonclicklistener(this); Existe qualquer diferença para uma atividade normal? public void onclick(view v) { } Precisamos agora criar o fragmento, e bolar um jeito dele conversar com a a?vidade.

14 Criando um Fragmento Aula16Ac?vity.xml public void onclick(view v) { Confirma(onDialogFragment confirma?ondialog = Confirma?onDialogFragment.newInstance(R.string.dialog_format_?tle); confirma?ondialog.setconfirma(ondialogfragmentlistener(this); confirma?ondialog.show(getsupportfragmentmanager(), null); Temos de implementar essa classe. E dar um jeito da a?vidade e do fragmento conversarem Mas, que jeito mais esquisito de criar um objeto. Por que não usar um construtor padrão?

15 Confirma?onDialogFragment.java Builders public class Confirma?onDialogFragment extends DialogFragment {... public sta(c Confirma(onDialogFragment newinstance(int (tle) { Confirma(onDialogFragment frag = new Confirma(onDialogFragment(); Bundle args = new Bundle(); args.putint("(tle", (tle); frag.setarguments(args); return frag;... }

16 Parla! Precisamos de dar um jeito do fragmento e da a?vidade conversarem. Podemos fazer isso via o padrão observer, um velho conhecido nosso. Quando vimos o padrão observer antes?

17 Ainda os observadores public class Aula16Ac?vity extends FragmentAc?vity implements Aula16Ac?vity.java OnClickListener, Confirma(onDialogFragmentListener { public void onposi(veclick() { Toast.makeText(this, android.r.string.ok, Toast.LENGTH_LONG).show(); public void onnega(veclick() { Toast.makeText(this, android.r.string.cancel, Toast.LENGTH_LONG).show(); public void onclick(view v) { Confirma?onDialogFragment confirma?ondialog = Confirma?onDialogFragment public class Confirma?onDialogFragment extends DialogFragment {.newinstance(r.string.dialog_format_?tle); private Confirma(onDialogFragmentListener listener; confirma?ondialog.setconfirma(ondialogfragmentlistener(this); confirma?ondialog.show(getsupportfragmentmanager(), null); } public interface Confirma(onDialogFragmentListener { public void onposi(veclick(); public void onnega(veclick(); Confirma?onDialogFragment.java public void setconfirma(ondialogfragmentlistener( Confirma?onDialogFragmentListener listener) { this.listener = listener; }

18 O Observado public class Aula16Ac?vity extends FragmentAc?vity implements OnClickListener, Confirma?onDialogFragmentListener { public void onposi?veclick() { Toast.makeText(this, android.r.string.ok, Toast.LENGTH_LONG).show(); public void onnega?veclick() { Toast.makeText(this, android.r.string.cancel, Toast.LENGTH_LONG).show(); public void onclick(view v) { Confirma?onDialogFragment confirma?ondialog = Confirma?onDialogFragment public class Confirma?onDialogFragment extends DialogFragment {.newinstance(r.string.dialog_format_?tle); private Confirma(onDialogFragmentListener listener; confirma?ondialog.setconfirma?ondialogfragmentlistener(this); confirma?ondialog.show(getsupportfragmentmanager(), null); } public interface Confirma(onDialogFragmentListener { public void onposi(veclick(); public void onnega(veclick(); public void setconfirma(ondialogfragmentlistener( Confirma?onDialogFragmentListener listener) { this.listener = listener; }

19 O Observador public class Aula16Ac?vity extends FragmentAc?vity implements OnClickListener, Confirma(onDialogFragmentListener { public void onposi(veclick() { Toast.makeText(this, android.r.string.ok, Toast.LENGTH_LONG).show(); public void onnega(veclick() { Toast.makeText(this, android.r.string.cancel, Toast.LENGTH_LONG).show(); public void onclick(view v) { Confirma?onDialogFragment confirma?ondialog = Confirma?onDialogFragment public class Confirma?onDialogFragment extends DialogFragment {.newinstance(r.string.dialog_format_?tle); private Confirma?onDialogFragmentListener listener; confirma?ondialog.setconfirma(ondialogfragmentlistener(this); confirma?ondialog.show(getsupportfragmentmanager(), null); public interface Confirma?onDialogFragmentListener { public void onposi?veclick(); } public void onnega?veclick(); public void setconfirma?ondialogfragmentlistener( Confirma?onDialogFragmentListener listener) { this.listener = listener; }

20 public class Confirma?onDialogFragment extends DialogFragment implements DialogInterface.OnClickListener public Dialog oncreatedialog(bundle savedinstancestate) { int?tle = getarguments().getint("?tle"); return new AlertDialog.Builder(getAc?vity()).setIcon(android.R.drawable.ic_dialog_alert).setTitle(?tle).setPosi?veBulon(android.R.string.ok, this).setnega?vebulon(android.r.string.cancel, this).create(); public void onclick(dialoginterface dialog, int which) { if (listener!= null) { switch (which) { case DialogInterface.BUTTON_POSITIVE: listener.onposi?veclick(); break; default: listener.onnega?veclick(); } Confirma?onDialogFragment.java Que padrão de projetos é esse? E o que a a?vidade principal fará quando for no?ficada do evento que escuta? Lidando com o Clique

21 Aula16Ac?vity.java Toast! public class Aula16Ac?vity extends FragmentAc?vity implements OnClickListener, Confirma?onDialogFragmentListener { public void onposi?veclick() { Toast.makeText(this, android.r.string.ok, Toast.LENGTH_LONG).show(); public void onnega?veclick() { Toast.makeText(this, android.r.string.cancel, Toast.LENGTH_LONG).show(); }

22 Recapitulando public class Aula16Ac?vity extends FragmentAc?vity implements OnClickListener, Confirma?onDialogFragmentListener public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Bulon bulonpostdialog = (Bulon) findviewbyid(r.id.bulon_post_dialog); bulonpostdialog.setonclicklistener(this); public void onclick(view v) { Confirma?onDialogFragment confirma?ondialog = Confirma?onDialogFragment.newInstance(R.string.dialog_format_?tle); confirma?ondialog.setconfirma?ondialogfragmentlistener(this); confirma?ondialog.show(getsupportfragmentmanager(), null); public void onposi?veclick() { Toast.makeText(this, android.r.string.ok, Toast.LENGTH_LONG).show(); public void onnega?veclick() { Toast.makeText(this, android.r.string.cancel, Toast.LENGTH_LONG).show(); } public class Confirma?onDialogFragment extends DialogFragment implements DialogInterface.OnClickListener { private Confirma?onDialogFragmentListener listener; public sta?c Confirma?onDialogFragment newinstance(int?tle) { Confirma?onDialogFragment frag = new Confirma?onDialogFragment(); Bundle args = new Bundle(); args.putint("?tle",?tle); frag.setarguments(args); return frag; public interface Confirma?onDialogFragmentListener { public void onposi?veclick(); public void onnega?veclick(); public void setconfirma?ondialogfragmentlistener( Confirma?onDialogFragmentListener listener) { this.listener = public Dialog oncreatedialog(bundle savedinstancestate) { int?tle = getarguments().getint("?tle"); return new AlertDialog.Builder(getAc?vity()).setIcon(android.R.drawable.ic_dialog_alert).setTitle(?tle).setPosi?veBulon(android.R.string.ok, this).setnega?vebulon(android.r.string.cancel, this).create(); public void onclick(dialoginterface dialog, int which) { if (listener!= null) { switch (which) { case DialogInterface.BUTTON_POSITIVE: listener.onposi?veclick(); break; default: listener.onnega?veclick(); } Aula16Ac?vity.java Confirma?onDialogFragment.java

23 Leitor de Livros: Crie um leitor de livros com duas visões: Uma é uma lista com os títulos de capítulso. A outra é um campo de texto com o conteúdo do capítulo. Múl?plas Visões Clicando em um título abre-se o capítulo. Em modo de retrato vê-se somente uma visão de cada vez. Em modo de paisagem, vêmse as duas!

24 Os Layouts Como é esse layout aqui? E esse layout aqui, como é?

25 Os Layouts Como é esse layout aqui? Na verdade, tudo depende de como estamos vendo o telefone: se em modo de retrato, ou em modo de paisagem E esse layout aqui, como é?

26 Os Layouts Esse componente de layout, e esse outro serão preenchidos por classes do?po Fragment. O que são esses nomes? <?xml version="1.0" encoding="uz 8"?> <LinearLayout xmlns:android= "hlp://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orienta?on="horizontal" > <fragment android:id="@+id/summary_fragment" android:name= "com.dcc052.aula16.summaryfragment" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" /> <fragment android:id="@+id/chapter_fragment" android:name= "com.dcc052.aula16.chapterfragment" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="2" /> </LinearLayout>

27 Os Layouts Esse outro layout na verdade é somente uma moldura, onde encaixaremos um fragmento em tempo de execução da aplicação. Ele terá, assim duas visões possíveis. <?xml version="1.0" encoding="uz 8"?> <FrameLayout xmlns:android= "hlp://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" />

28 ChapterFragment public class ChapterFragment extends Fragment public View oncreateview(layoutinflater inflater, ViewGroup container, Bundle savedinstancestate) public void onstart() { public void updatechapterview(int posi?on) public void onsaveinstancestate(bundle outstate) { } ChapterFragment.java Fragmentos possuem um ciclo de vida, parecido, porém diferente do ciclo de vida de a?vidades. Quais partes desse ciclo seriam iguais? E quais partes seriam diferentes?

29 Ciclo de Vida Qual é o papel dos métodos abaixo? onattach oncreateview onactivitycreated ondestroyview ondetach

30 ChapterFragment.java Criando Visão do Fragmento public class ChapterFragment extends Fragment { final sta?c String ARG_POSITION = "posi?on"; int mcurrentposi?on = public View oncreateview(layoutinflater inflater, ViewGroup container, Bundle savedinstancestate) { if (savedinstancestate!= null) { mcurrentposi?on = savedinstancestate.getint(arg_position); return inflater.inflate(r.layout.chapter_view, container, false); } Esse método faz parte do ciclo de vida do Fragmento. Porque temos esse teste? Que outros métodos são chamados nesse ciclo? Temos de criar esse layout.

31 layout/chapterview.xml O layout de um capítulo <?xml version="1.0" encoding="uz 8"?> <TextView xmlns:android= "hlp://schemas.android.com/apk/res/android" android:id="@+id/chapter_view" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="16dp" android:textsize="18sp" /> Por hora o layout será assim. Esse layout possui algumas deficiências. Quais? Mas é claro que poderemos melhorá lo depois. Por que não é preciso criar uma versão de paisagem?

32 ChapterFragment.java Começando o public void onstart() { super.onstart(); Bundle args = getarguments(); if (args!= null) { updatechapterview(args.getint(arg_position)); Explique a lógica do condicional nesse código. else if (mcurrentposi?on!= 1) { public void onsaveinstancestate(bundle outstate) { super.onsaveinstancestate(outstate); outstate.putint(arg_position, mcurrentposi?on); Precisamos definir esse método, que cria a visão do fragmento.

33 Criando a Visão do Fragmento public void updatechapterview(int posi?on) { Ac(vity ac(vity = getac(vity(); TextView chapter = (TextView) ac?vity.findviewbyid(r.id.chapter_view); chapter.settext(book.poems[posi(on]); mcurrentposi?on = posi?on; ChapterFragment.java O que esse código está fazendo? Em termos de reúso de código, esse projeto é um pouco deficiente. Quais são essas deficiências? Que a?vidade é essa?

34 Book.java public class Book { sta?c String[]?tles = { "Primeiro Poema", "Segundo Poema" }; O Livro livro por hora é um stub. Como poderíamos implementar a aplicação defini?va? sta?c String[] poems = { "Olha estas velhas arvores, mais belas\ndo que as ", "Sobre minh'alma, como sobre um trono,\nsenhor..." }; }

35 A lista de capítulos Nosso próximo passo é implementar a lista de capítulos. Essa classe deve ser capaz de no?ficar eventos. Que eventos são esses?

36 SummaryFragment.java public class SummaryFragment extends ListFragment { OnChapterSelectedListener mcallback; public interface OnChapterSelectedListener { public void onchapterselected(int posi(on); Para que serve todo esse public void oncreate(bundle savedinstancestate) public void onstart() public void onalach(ac?vity ac?vity) public void onlistitemclick(listview l, View v, int posi?on, long id) { }

37 Criando o Layout the public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); int layout = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB? android.r.layout.simple_list_item_ac?vated_1 : android.r.layout.simple_list_item_1; setlistadapter(new ArrayAdapter<String>(getAc?vity(), layout, Book.?tles)); SummaryFragment.java Por que esse teste? Isso se parece com um #ifndef dinâmico. Você pode explicar a analogia? Note que não foi preciso criar o método oncreateview. Porque?

38 Começando a lista de public void onstart() { super.onstart(); if (getfragmentmanager().findfragmentbyid(r.id.chapter_fragment)!=null) { getlistview().setchoicemode(listview.choice_mode_single); } Para que serve esse teste misterioso? SummaryFragment.java

39 Começando a lista de public void onstart() { super.onstart(); if (getfragmentmanager().findfragmentbyid(r.id.chapter_fragment)!=null) { getlistview().setchoicemode(listview.choice_mode_single); } Estamos testando se o fragmento está em modo de tela dupla. Esse só é o caso quando o fragmento chapter_fragment está presente na lista de layouts a?vos. Quando estamos em modo de tela dupla, marcamos o item selecionado na lista. SummaryFragment.java

40 public class SummaryFragment extends ListFragment { OnChapterSelectedListener mcallback; public interface OnChapterSelectedListener { public void onchapterselected(int public void onaaach(ac?vity ac?vity) { super.onalach(ac?vity); try { mcallback = (OnChapterSelectedListener) ac?vity; catch (ClassCastExcep?on e) { throw new ClassCastExcep?on(ac?vity.toString() + " must implement public void onlistitemclick(listview l, View v, int posi?on, long id) { mcallback.onchapterselected(posi?on); getlistview().setitemchecked(posi?on, true); } SummaryFragment.java onalach Explica me novamente a lógica desse código. Precisamos agora implementar a a?vidade principal. Essa será a cola que ligará os dois fragmentos.

41 BookAc?vity.java A A?vidade Principal Que interface é essa? public class BookAc?vity extends FragmentAc?vity implements SummaryFragment.OnChapterSelectedListener public void oncreate(bundle savedinstancestate) { Por que esse método está aqui? public void onchapterselected(int posi?on) { } Como será a implementação de oncreate?

42 BookAc?vity.java Vários public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.summary_view); if (findviewbyid(r.id.fragment_container)!= null) { if (savedinstancestate!= null) { return; Para que serve esse teste? E esse outro teste, para que ele serve? SummaryFragment firstfragment = new SummaryFragment(); firstfragment.setarguments(getintent().getextras()); getsupportfragmentmanager().begintransac?on().add(r.id.fragment_container, firstfragment).commit(); }

43 BookAc?vity.java public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.summary_view); if (findviewbyid(r.id.fragment_container)!= null) { if (savedinstancestate!= null) { return; Fragmentos são criados em transações. Porque? Precisamos agora implementar onchapterselected. Ideas? SummaryFragment firstfragment = new SummaryFragment(); firstfragment.setarguments(getintent().getextras()); getsupportfragmentmanager().begintransac?on().add(r.id.fragment_container, firstfragment).commit(); }

44 BookAc?vity.java Selecionando um Capítulo public void onchapterselected(int posi?on) { ChapterFragment chapterfrag = (ChapterFragment) getsupportfragmentmanager().findfragmentbyid(r.id.chapter_fragment); if (chapterfrag!= null && chapterfrag.getac(vity()!= null) { Para que serve esse teste? chapterfrag.updatechapterview(posi?on); else { E se eu ChapterFragment newfragment = new ChapterFragment(); removesse essa Bundle args = new Bundle(); condição? args.putint(chapterfragment.arg_position, posi?on); newfragment.setarguments(args); FragmentTransac?on transac?on = getsupportfragmentmanager().begintransac?on(); transac?on.replace(r.id.fragment_container, newfragment); transac?on.addtobackstack(null); transac?on.commit(); } O que essa transação está fazendo?

45 Alternando entre visões É possível alterar a visão do emulador usando a combinação de telcas CTRL+F11. Será que o custo de alterar essas visões é alto? Como saber se novas a?vidades são criadas?

46 BookAc?vity.java Logando transições de estado public class BookAc?vity extends FragmentAc?vity implements SummaryFragment.OnChapterSelectedListener public void onstart() { super.onstart(); Log.v("BookAc?vity", "onstart"); public void onstop() { super.onstop(); Log.v("BookAc?vity", "onstop"); public void onresume() { super.onresume(); Log.v("BookAc?vity", "onresume"); public void onpause() { super.onpause(); Log.v("BookAc?vity", "onpause"); public void ondestroy() { super.ondestroy(); Log.v("BookAc?vity", "ondestroy"); } } Será que uma nova a?vidade é criada quando alternamos entre retrato e paisagem?

47 Melhorando o Layout de Capítulos O layout que usamos para capítulos não está bom: o usuário não consegue ler o texto inteiro. O que poderíamos fazer? <?xml version="1.0" encoding="uz 8"?> <TextView xmlns:android= "hlp://schemas.android.com/apk/res/android" android:id="@+id/chapter_view" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="16dp" android:textsize="18sp" /> chapter_view.xml

48 Melhorando o Layout de Capítulos O layout que usamos para capítulos não está bom: o usuário não consegue ler o texto inteiro. O que poderíamos fazer? <?xml version="1.0" encoding="uz 8"?> <TextView xmlns:android= "hlp://schemas.android.com/apk/res/android" android:id="@+id/chapter_view" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="14dp" android:textsize="18sp" /> chapter_view.xml O que mais podemos fazer? Podemos reduzir o tamanho da fonte!

49 chapter_view.xml Melhorando o Layout de Capítulos O layout que usamos para capítulos não está bom: o usuário não consegue ler o texto inteiro. O que poderíamos fazer? <?xml version="1.0" encoding="uz 8"?> <ScrollView xmlns:android= "hlp://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="16dp" > <TextView android:id="@+id/chapter_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textsize="18sp" /> </ScrollView> Ou podemos usar um scroll

Programação para a Plataforma Android Aula 13. Localização

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 mais

Programação para a Plataforma Android Aula 7. Mul$mídia

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

Leia mais

Comunicação entre A0vidades

Comunicaçã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 mais

Tutorial Android Speech

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

Leia mais

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 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 mais

Log, 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) 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 mais

Armazenamento Persistente de Dados

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

Leia mais

PROPOSTA DE UM PADRÃO DE PROJETO PARA ANDROID UTILIZANDO A WEB

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

Leia mais

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 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 mais

Avisos e Notificações aos Usuários

Avisos 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 mais

Android: Ciclo de vida da Activity

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

Leia mais

Android. Interfaces: widgets

Android. 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 mais

Programação em Java para a Plataforma Android AULA 1. Primeiros Passos

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

Leia mais

Computação Móvel Activity (Ref. Cap. 4)

Computaçã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 mais

Usando e Gerenciando Activities

Usando 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 mais

Android Layout Manager. Ivan Nicoli

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

Leia mais

Mais Elementos da Interface com o Usuário. Prof. Fellipe Aleixo

Mais 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 mais

Provedores de Conteúdo

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

Leia mais

Curso de Android - 2 Novas Activities. SECAP Prof. Rone Ilídio - UFSJ

Curso 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 mais

Programação para Android. Aula 08: Persistência de dados SQL

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

Leia mais

Programação para a Plataforma Android Aula 11. Banco de Dados

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

Leia mais

Introdução ao Desenvolvimento para Sistema Operacional Android

Introdução ao Desenvolvimento para Sistema Operacional Android Dr. prof.sylvio@fatecriopreto.edu.br 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

Leia mais

Prof: Ricardo Quintão Site:

Prof: 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 mais

Comunicação via Sockets

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

Leia mais

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ

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

Leia mais

Prof. Jhonatan Fernando

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á

Leia mais

Android Banco de Dados. Ivan Nicoli

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

Leia mais

Programação para Dispositivos Móveis

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 dmartins@gmail.com São Paulo, Março, 2012

Leia mais

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

TUTORIAL 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 mais

Projeto GoHome Tutorial Sobre o serviço do Google Maps no Android

Projeto 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 mais

Programação de Dispositivos Móveis

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

Leia mais

Programa de Dispositivos Móveis

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

Leia mais

Android Activity. Ivan Nicoli

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

Leia mais

Programação para Android. Aula 06: Activity, menus e action bar

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

Leia mais

Programação para a Plataforma Android Aula 17. Broadcasts

Programação para a Plataforma Android Aula 17. Broadcasts 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

Leia mais

Android DEFINIÇÕES E CICLO DE VIDA. Prof. Dr. Joaquim assunção.

Android 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 mais

Programação de Dispositivos Móveis

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

Leia mais

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 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 mais

Programação para Dispositivos Móveis

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 dmartins@gmail.com

Leia mais

Computação II Orientação a Objetos

Computaçã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 mais

Universidade 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. 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 mais

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

Leia mais

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

DESENVOLVIMENTO 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

Programa de Dispositivos Móveis

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

Leia mais

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

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

Leia mais

Android INTERFACE GRÁFICA & LAYOUT. Prof. Dr. Joaquim assunção.

Android INTERFACE GRÁFICA & LAYOUT. Prof. Dr. Joaquim assunção. Android INTERFACE GRÁFICA & LAYOUT Prof. Dr. Joaquim assunção. Graphical User Interface (GUI) Quando o Android estava sendo inventado, seus designers enfrentaram muitas escolhas cujo resultado seria determinar

Leia mais

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

DESENVOLVIMENTO 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 mais

Prof: Ricardo Quintão Site:

Prof: Ricardo Quintão   Site: Prof: Ricardo Quintão email: rgquintao@gmail.com Site: www.rgquintao.com.br Vamos agora criar o nosso terceiro projeto Android. Neste projeto realizaremos o cálculo do Índice de Massa Corporal. A aplicação

Leia mais

Android. Interfaces: widgets

Android. Interfaces: widgets Android Interfaces: widgets Vida de uma Activity Acontece entre a primeira chamada para oncreate até a chamada do finally() que resulta no evento ondestroy(). Uma Activity irá fazer toda a configuração

Leia mais

ANDROID, uma visão geral. Anderson Duarte de Amorim

ANDROID, uma visão geral. Anderson Duarte de Amorim ANDROID, uma visão geral Anderson Duarte de Amorim 2011 Conteúdo Introdução... 10 Atividades... 11 Criar uma atividade... 11 Implementando uma interface de usuário... 12 Declarando a atividade no manifesto...

Leia mais

Android Core. Felipe Silveira felipesilveira.com.br. Aula 6

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

Leia mais

Google Android. Componentes Gráficos

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

Leia mais

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 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 mais

Expectativa de respostas

Expectativa de respostas Expectativa de respostas Prova Objetiva Questão Resposta 1 A 2 A 3 C 4 B 5 B 6 ANULADA 7 A 8 D 9 A 10 C 11 B 12 ANULADA 13 C 14 D 15 B 16 B 17 ANULADA 18 C 19 C 20 C Prova Discursiva 1. Explique cada um

Leia mais

Interfaces no Android : widgets. Continuação

Interfaces no Android : widgets. Continuação Interfaces no Android : widgets Continuação Spinner Este componente possui um nome diferente em cada tecnologia: o o o JComboBox DropDownList ComboBox permite a seleção de itens de uma lista, porem seu

Leia mais

Android OLÁ MUNDO MÓVEL. Prof. Dr. Joaquim assunção.

Android OLÁ MUNDO MÓVEL. Prof. Dr. Joaquim assunção. Android OLÁ MUNDO MÓVEL Prof. Dr. Joaquim assunção. Parte 1/3 SDK e Android Studio Java SE Development Kit Download and Install JDK 6 http://www.oracle.com/technetwork/java/javase/downloads/index.html

Leia mais

Primeira Aplicação Android Olá Mundo. Prof. Fellipe Aleixo

Primeira 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 mais

Views Interface Gráfica

Views Interface Gráfica Views Interface Gráfica Interfaces gráficas Visão geral Classe View A classe para componentes visuais Desenha na tela através do método ondraw(canvas) Widgets Classe 2 O que é a View Classe para componentes

Leia mais

Programação para Android. Aula 05: Estilos e temas; galeria de imagens

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

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira Tratamento de Erros Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Agenda Introdução Try, catch, finally Unchecked Exceptions Como levantar exceções Boas práticas O problema Calculadora numero1:

Leia mais

Prof: Ricardo Quintão Site:

Prof: Ricardo Quintão   Site: Prof: Ricardo Quintão email: rgquintao@gmail.com Site: www.rgquintao.com.br Como criar uma nova Activity? Criando um Projeto Android Até agora, todos os nossos projetos utilizavam apenas uma Activity.

Leia mais

Geração Automática de Código Android Eficiente a partir de Modelos UML

Geração Automática de Código Android Eficiente a partir de Modelos UML Geração Automática de Código Android Eficiente a partir de Modelos UML Abilio Gambim Parada Aline Rodrigues Tonini Lisane Brisolara de Brisolara Grupo de Arquiteturas e Circuitos Integrados - GACI Universidade

Leia mais

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

Leia mais

itec h- ON & E ngenharia de S oftware Joel Carvalho - 05/05/2011 Novas Tecnologias Aplicadas à Eng. de So5.

itec h- ON & E ngenharia de S oftware Joel Carvalho - 05/05/2011 Novas Tecnologias Aplicadas à Eng. de So5. itec h- ON & E ngenharia de S oftware Novas Tecnologias Aplicadas à Eng. de So5. Tecnologias Pág. 2 Microso5 Visual Studio 2010 Express l Visual C# Express + Visual Web Developer l h6p://www.microso=.com/express/downloads/#2010-

Leia mais

ANDROID APRENDIZ. Um guia para iniciantes Crie seu primeiro aplicativo Android

ANDROID 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 mais

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 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 mais

Capítulo 02: Cadastro de Alunos

Capítulo 02: Cadastro de Alunos Capítulo 02: Cadastro de Alunos Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI marcio.palheta@gmail.com sites.google.com/site/marcio

Leia mais

Universidade Federal do Paraná

Universidade Federal do Paraná Universidade Federal do Paraná Departamento de Informática Ciência da Computação Tópicos em Sistemas Embarcados Android Prof. Eduardo Todt 2016 objetivos Com Android studio criar primeira app Projetar

Leia mais

Introdução ao Android

Introdução ao Android Introdução ao Android Átila Camurça Alves 1 Edição 17 de maio de 2012 2 Sumário 1 Preparando o Ambiente de Desenvolvimento 7 1.1 Introdução..................................... 7 1.2 Instalação.....................................

Leia mais

PROGRAMAÇÃO MOBILE Estudo de Caso

PROGRAMAÇÃO MOBILE Estudo de Caso O desenvolvimento de software para dispositivos móveis diverge em vários aspectos do tradicional desenvolvimento de aplicações para desktop e Web. Quando no segundo caso não temos a preocupação com o tamanho

Leia mais

AlarmManager. Programação em Dispositivos Móveis (PDM) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

AlarmManager. 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 mais

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos 1. Para a construção de uma aplicação gráfica se faz necessário conceber a interface de aplicação, identificando-se

Leia mais

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco

p 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 mais

Navegação entre Janelas

Navegação entre Janelas Programação para a Plataforma Android Aula 18 Navegação entre Janelas Como projetar estratégias efe>vas e prá>cas de navegação entre janelas? O que é a barra de ações? Que >po de opções podemos inserir

Leia mais

HCI Summer Workshop. Android #1. Tiago Guerreiro. tjvg@di.fc.ul.pt

HCI Summer Workshop. Android #1. Tiago Guerreiro. tjvg@di.fc.ul.pt HCI Summer Workshop Android #1 Tiago Guerreiro tjvg@di.fc.ul.pt Introdução Equipa Luis Carriço Tiago Guerreiro Luis Duarte Diogo Marques Gonçalo Gomes Eduardo Matos Nikolay Stanchenko Rafael Nunes Filipe

Leia mais

FACULDADE DE TECNOLOGIA SENAC PELOTAS

FACULDADE DE TECNOLOGIA SENAC PELOTAS 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 --------------------------------------------

Leia mais

MsC. João Maria MsC. Liviane Melo

MsC. João Maria MsC. Liviane Melo Disciplina: Programação Orientada à Objetos AULA 02 Corpo docente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio Procópio Esp. Felipe Dantas MsC. João Maria MsC. Liviane Melo 2 Tipo Tamanho Alcance

Leia mais

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Lista 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 mais

1. SQLite No Android 2. API de Acesso Listagem 1 SQLiteDatabase SQLiteOpenHelper Listagem 1 Android Studio SQLiteOpenHelper Android Studio

1. SQLite No Android 2. API de Acesso Listagem 1 SQLiteDatabase SQLiteOpenHelper Listagem 1 Android Studio SQLiteOpenHelper Android Studio 1. SQLite No Android O SQLite é um banco de dados relacional open-source e fornece suporte para comandos SQL. Cada aplicação Android pode criar quantos bancos de dados desejar e eles irão ficar armazenados

Leia mais

Desenvolvimento Android. Pontapé inicial...

Desenvolvimento Android. Pontapé inicial... Desenvolvimento Android Pontapé inicial... Toshi Kurauchi andrew.kurauchi@gmail.com @toshikurauchi Por que desenvolver para Android? Por que desenvolver para Android? Por que desenvolver para Android?

Leia mais

AULA 2. Minicurso PET-EE UFRN

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

Leia mais

Armazenamento de dados

Armazenamento 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 mais

Palavras Reservadas da Linguagem Java

Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de

Leia mais

Desenvolvimento Android. http://www.larback.com.br

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

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1 Aula de Revisão para AV1 Conteúdo Programático desta aula Rever os principais conceitos apresentados Resolução de Exercícios para a prova Quantas bibliotecas de GUI existem em Java: a) Uma: Swing b) Duas:

Leia mais

Desenvolvimento de um aplicativo básico usando o Google Android

Desenvolvimento de um aplicativo básico usando o Google Android Desenvolvimento de um aplicativo básico usando o Google Android (Activity e o seu Ciclo de Vida) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática

Leia mais

Construindo layouts complexos em Android

Construindo layouts complexos em Android 1 Android Construindo layouts complexos em Android Ramon Ribeiro Rabello ramon.rabello@gmail.com É graduado em Ciência da Computação pela Universidade da Amazônia (UNAMA). Trabalha com a tecnologia Java

Leia mais

Android Binding. Implementando o padrão de projeto MVVM com MVVM_. Saiba como criar um projeto utilizando o padrão de projeto MVVM no Android

Android Binding. Implementando o padrão de projeto MVVM com MVVM_. Saiba como criar um projeto utilizando o padrão de projeto MVVM no Android MVVM_ Implementando o padrão de projeto MVVM com Android Binding Saiba como criar um projeto utilizando o padrão de projeto MVVM no Android O padrão de projeto MVVM O MVVM (Model-View-ViewModel) foi divulgado

Leia mais

Android I N T R O D U Ç Ã O À P R O G R A M A Ç Ã O P R O F E S S O R L E O N A R D O C. R. S O A R E S - L A R B A C K

Android I N T R O D U Ç Ã O À P R O G R A M A Ç Ã O P R O F E S S O R L E O N A R D O C. R. S O A R E S - L A R B A C K Android I N T R O D U Ç Ã O À P R O G R A M A Ç Ã O P R O F E S S O R L E O N A R D O C. R. S O A R E S - L A R B A C K Introdução O Android é a resposta da Google ao mercado crescente de dispositivos

Leia mais

Implementando 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 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 mais

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

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

Leia mais

Unidade 12: Programação de Banco de Dados com Java Prof. Daniel Caetano

Unidade 12: Programação de Banco de Dados com Java Prof. Daniel Caetano Linguagem de Programação 1 Unidade 12: Programação de Banco de Dados com Java Prof. Daniel Caetano Objetivo: Construir uma aplicação Java que interaja com Banco de Dados INTRODUÇÃO Nas aulas anteriores

Leia mais

DarumaMobileSAT Utilizando a biblioteca Daruma em Android para SAT

DarumaMobileSAT Utilizando a biblioteca Daruma em Android para SAT DarumaMobileSAT Utilizando a biblioteca Daruma em Android para SAT Escovadores de Bits, Vamos ver aqui um passo a passo de como adicionar e usar a biblioteca Android para o SAT Daruma, com alguns exemplos

Leia mais

Módulo 3 - Intenções. SECAP 2014 Prof. Rone Ilídio - UFSJ

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

Leia mais

Computação Móvel Persistência (Ref. Cap. 18)

Computação Móvel Persistência (Ref. Cap. 18) Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Computação Móvel Persistência (Ref. Cap. 18) Vicente Amorim vicente.amorim.ufop@gmail.com Sumário * SharedPreferences *

Leia mais

DESENVOLVIMENTO DE APLICAÇÕES SIMPLES

DESENVOLVIMENTO 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 mais

Testes Unitários com JUnit

Testes Unitários com JUnit Testes Unitários com JUnit Por: Luiz Gustavo Stábile de Souza http://luizgustavoss.wordpress.com Abril/2009 Motivação Apesar de já fazer um certo tempo que escrevi a primeira versão deste tutorial, o assunto

Leia mais