Inicia-se a produção do Caderno de Atividades sob a sua responsabilidade.

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

Download "Inicia-se a produção do Caderno de Atividades sob a sua responsabilidade."

Transcrição

1 Prezado (a) Autor(a), Inicia-se a produção do Caderno de Atividades sob a sua responsabilidade. Atente-se para as informações que lhe foram passadas, através do Manual do Autor, Template, Ambiente de Capacitação e Formatação de Questões. Abaixo você encontrará o padrão deste caderno. As letras em vermelho devem ser substituídas pela sua produção. As pretas devem ser mantidas onde e como estão. As verdes são lembretes ao longo do material, para auxiliá-lo nesta produção. Ao final do template, será encontrada a seção de exemplos para auxiliá-lo na construção do Caderno de Atividades. As letras verdes e os exemplos devem ser retirados antes do envio deste arquivo à Gerência de Produção e Conteúdo.. Observe o padrão de nomenclatura dos arquivos. Lembre-se: Utilize a linguagem dialógica. Respeita as quantidades solicitadas em cada item. Não faça questões colaborativas (Ex: reúna-se em grupo, discuta com seus colegas, em dupla responda, entre outras). Dúvidas ao longo do processo de produção procure o gestor do seu caderno. Desejamos a você um excelente trabalho! Regina Cláudia da Silva Fiorin Diretoria de Desenvolvimento de EaD

2 TEMPLATE CADERNO DE ATIVIDADES /1 Como citar esse material: CAMPOS, Edilene Aparecida Veneruchi. Programação em dispositivos móveis: Introdução à programação para Android. Caderno de Atividades. Valinhos: Anhanguera Educacional, Uma necessidade muito comum a qualquer tipo de aplicação, para dispositivos móveis ou não é a persistência de dados. O termo persistência de dados está relacionado com a habilidade da aplicação de gravar dados importantes para o usuário em algum meio de armazenamento permanente, como o disco. Assim, mesmo após o encerramento da execução da aplicação ou do desligamento do dispositivo, os dados poderão ser recuperados. Os meios de persistência mais utilizados são os arquivos e as tabelas de bancos de dados. As aplicações desenvolvidas para android têm à disposição algumas maneiras de persistir dados. Aqui abordaremos persistência de dados usando: o objeto SharedPreferences; armazenamento interno; armazenamento externo; base de dados SQLite. Usar o objeto SharedPreferences significa é utilizado quando a aplicação tem necessidade de gravar poucos dados. Esta estratégia permite o armazenamento de pares de valores (chave, valor). Estratégia indicada para gravação de dados de configuração.

3 Usar armazenamento interno permite gravar dados na memória interna do dispositivo. Desta forma os dados tem uso privado à própria aplicação, não ficando visível a outras aplicações. Já o armazenamento externo permite gravar dados em um cartão de memória (SD). Desta forma, todos os dados poderão ser acessados. O banco de dados SQLite permite que os dados fiquem privados à aplicação, sendo tratados por um sistema gerenciador de dados relacionais. Por ser relacional, os dados devem ter características que os permitam ser organizados em tabelas (linhas e colunas). Network connection significa que o armazenamento será feito em um servidor web. Persistência de dados Trataremos das possíveis formas de persistência de dados em aplicações para android. 1) Usando SharedPreferences Quando se utiliza a gravação usando as preferências compartilhadas, devese fazer uso de um objeto da classe SharedPreferences. Este objeto permite a persistência dos dados usando um par (chave, valor). Os pares ficam gravados em um arquivo XML. Como começar a utilizar as preferências compartilhadas deve-se criar um objeto, conforme apresentado a seguir apropriado. Se a activity necessitar de um único arquivo de preferências compartilhadas não é necessário informar o nome do arquivo. Deve-se informar apenas o modo de permissão de acesso liberado. Assim, pode-se usar:

4 SharedPreferences prefs = getpreferences(modo); Entretanto, se houver a necessidade de trabalhar com mais de um arquivo de preferências compartilhadas, deve-se informar o nome do arquivo desejado. Conform a seguir. SharedPreferences prefs = getsharedpreferences(nome,modo); O parâmetro nome indica o nome indica o nome do arquivo que armazenará as preferências compartilhadas (lembrando que uma aplicação pode utilizar vários arquivos) e o modo indica a permissão de acesso ao arquivo de preferências compartilhadas. Os principais modos de acesso são: MODE_APPEND gravará novos dados em um arquivo de preferências já existentes; MODE_PRIVATE define que o arquivo contendo as preferências gravadas poderá ser acessado apenas pela aplicação. MODE_WORLD_READABLE permite que outras aplicações leiam as preferências gravadas. MODE_WORLD_WRITEABLE permite que outras aplicações leia e gravem dados no arquivo de preferência. As gravações podem ser feitas no arquivo de preferências usando a classe SharedPreferences.Editor. Assim: Editor editor = prefs.edit(); editor.putstring("chave", "valor"); editor.commit(); Além do putstring() existem outros métodos na classe Editor que permitem a manipulação de dados contidos nas preferências compartilhadas. Alguns deles são: clear() remove todos os valores do editor

5 commit() confirma as gravações. remove(string chave) remove o valor associado à chave passada como parâmetro. putlong(string chave, long valor) salva um valor do tipo long nas preferências compartilhadas. putint(string chave, int valor) salva um valor do tipo int nas preferências compartilhadas. putfloat(string chave, float valor) salva um valor do tipo float nas preferências compartilhadas. putboolean(string chave, boolean valor) salva um valor do tipo boolean nas preferências compartilhadas. Para ler os valores gravados no arquivo de preferências compartilhadas deve-se realizar procedimento assim: prefs.getstring( chave, Valor_default ); Na linha acima, caso haja uma chave idêntica a chave, seu valor será retornada. Se chave não existir no arquivo de preferências será retornado o valor_default. Além do getstring(), existem outros métodos para recuperar dados: getboolean(string chave, boolean valor_default) recupera um valor boolean correspondente á chave informada. Se a chave não estiver cadastrada será retornado o valor_default informado. getfloat(string chave, float valor_default) recupera um valor float correspondente á chave informada. Se a chave não estiver cadastrada será retornado o valor_default informado. getint(string chave, int valor_default) recupera um valor int correspondente á chave informada. Se a chave não estiver cadastrada será retornado o valor_default informado.

6 getlong(string chave, long valor_default) recupera um valor long correspondente á chave informada. Se a chave não estiver cadastrada será retornado o valor_default informado. Apresentaremos esta estratégia de persistência, através de um projeto. 1) Criar um novo projeto android (no exemplo o projeto se chama Tema3_Ex2, com pacote com.exercicios.tema3_ex2). 2) Atualize o arquivo activity_main.xml (em res/layout) para que fique conforme mostrado a seguir: <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="com.exercicios.tema3_ex2.mainactivity" > <TextView android:id = "@+id/mensagem" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_centerhorizontal = "true" android:layout_centervertical = "true" /> <Button android:id = "@+id/bt_gravar" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_below = "@id/mensagem" android:layout_centerhorizontal = "true" /> </RelativeLayout> 3) Atualize a classe MainActivity.java para que fique conforme mostrado a seguir. package com.exercicios.tema3_ex2; import com.example.tema3_ex2.r; import android.app.activity ; import android.content.intent ; import android.content.sharedpreferences ; import android.os.bundle ; import android.view.view ;

7 import android.view.view.onclicklistener ; import android.widget.button ; import android.widget.textview ; public class MainActivity extends Activity final static String PREFS = "arquivo1_pref" ; final static String ACESSO = "acesso" public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate) ; protected void onresume () super.onresume(); SharedPreferences prefs = getsharedpreferences(prefs, MODE_PRIVATE); String data = prefs.getstring(acesso, null); TextView msg = (TextView)findViewById(R.id.mensagem); Button addnamebutton = (Button) findviewbyid(r.id.bt_gravar); if (data!= null) msg.settext("ultimo acesso em: " + data); addnamebutton.settext("retomar a aplicação..."); else msg.settext("nunca acessou a aplicação!"); addnamebutton.settext ("Iniciar a aplicação..."); addnamebutton.setonclicklistener(new OnClickListener public void onclick (View v) Intent intent = new Intent(MainActivity.this, GravadoraDeDados.class); startactivity(intent); ); 4) Crie um arquivo chamado grava.xml em res/layout, e nele acrescente o conteúdo a seguir. <?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android = " android:layout_width = "match_parent" android:layout_height = "match_parent" android:orientation = "vertical"> <TextView android:id = "@+id/texto" android:layout_width = "match_parent" android:layout_height = "wrap_content" android:text = "@string/lb_texto" /> <Button

8 android:id = "@+id/bt_voltar" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:text = "@string/voltar"/> </LinearLayout> 5) Crie uma classe chamada GravadoraDeDados.java com conteúdo conforme mostrado a seguir. package com.exercicios.tema3_ex2; import java.text.simpledateformat; import java.util.date; import com.example.tema3_ex2.r; import android.app.activity ; import android.content.sharedpreferences; import android.content.sharedpreferences.editor; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; public class GravadoraDeDados extends Activity private SharedPreferences prefs protected void oncreate ( Bundle savedinstancestate ) super.oncreate(savedinstancestate); setcontentview (R.layout.grava_nome); prefs = getsharedpreferences(mainactivity.prefs,mode_private); Button btvoltar = (Button) findviewbyid (R.id.bt_voltar); btvoltar.setonclicklistener (new OnClickListener public void onclick (View v) SimpleDateFormat dateformat = new SimpleDateFormat("dd/mm/yyyy HH:mm:ss"); String dataacesso = dateformat.format(new Date()); Editor editor = prefs.edit(); editor.putstring(mainactivity.acesso, dataacesso); editor.commit(); finish(); ) ; 6) Altere o conteúdo do arquivo strings.xml (em res/value) acrescentando as linhas a seguir. <string name = "nome">nome: </string > <string name = "voltar">voltar</string>

9 <string name = "lb_texto">quando clicar no botão voltar a data e hora de acesso serão atualizadas.</string> 7) Atualize o arquivo AndroidManifest.xml para que fique assim: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.example.tema3_ex2" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="8" android:targetsdkversion="21" /> <application android:allowbackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/apptheme" > <activity android:name="com.exercicios.tema3_ex2.mainactivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher"/> </intent-filter> </activity> <activity android:name="com.exercicios.tema3_ex2.gravadoradedados"/> </application> </manifest> 2)Usando gravação interna (internal storage) É possível gravar dados em arquivos armazenados na memória interna do aparelho. Tais dados são acessados apenas pela aplicação. Assim, se a aplicação for desinstalada, tais dados são removidos. Neste tipo de persistência, os dados ficam gravados em arquivos e não precisam formar pares (chave, valor). Assim, podem-se gravar textos, por exemplo. Para isso, a aplicação pode fazer uso das classes disponíveis em java.io. Para acessar um arquivo de dados utiliza-se a classe FileOutputStream, que cria um caminho virtual até o arquivo.

10 Para que seja possível realizar a gravação em um arquivo interno é necessário: a) Para abrir um arquivo, deve-se utilizar o método openfileoutput(nome_arquivo, modo), que consegue abrir um determinado arquivo indicado em nome_arquivo com permissão de acesso definida pelo modo de abertura utilizado. FileOutputStream arq = openfileoutput( dados.txt, MODE_WORLD_WRITEABLE); Os principais modos de abertura podem ser APPEND, MODE_WORLD_WRITEABLE, MODE_WORLD_READABLE. b) A gravação é feita por meio de um objeto da classe OutputStreamWriter, que permite acessar o arquivo através do caminho virtual para gravações. OutputStreamWriter gravador = new OutputStreamWriter(arq); gravador.write(cadeia_de_caracteres); Para que seja possível realizar a leitura de dados de um arquivo interno é necessário: a) Para abrir um arquivo para leitura, deve-se utilizar o método openfileinput(nome_arquivo), que estabelece um caminho virtual com o arquivo indicado em nome_arquivo, definindo permissão para leitura dos dados. FileInputStream arq = openfileinput("dados.txt"); b) A leitura é feita por meio de um objeto da classe InputStreamReader, que acessa o arquivo e lê uma quantidade de caracteres. InputStreamReader leitor = new InputStreamReader(arq); Apresentaremos esta estratégia de persistência, através de um projeto. A aplicação disponibiliza botões para Gravar dados em um arquivo (apagando o que eventualmente já estiver gravado), Acrescentar dados em um

11 arquivo, ao final do conteúdo que eventualmente já esteja gravado; Limpar o arquivo, apagando todo o conteúdo que eventualmente estivesse gravado; e Mostrar o conteúdo já gravado no arquivo. 1) Criar um novo projeto android (no exemplo o projeto se chama Tema3_internal, com pacote com.exercicios.tema3_internal). 2) Atualize o arquivo activity_main.xml (em res/layout) para que fique conforme mostrado a seguir: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="com.exercicios.tema3_internal.mainactivity" > <TextView android:id = "@+id/orientacao" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:text="@string/lb_orientacao" android:layout_centerhorizontal = "true" /> <EditText android:id="@+id/entrada" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below = "@id/orientacao" android:layout_centerhorizontal = "true" /> <Button android:id = "@+id/bt_gravar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/bt_gravar" android:layout_below = "@id/entrada" android:layout_centerhorizontal = "true" /> <Button android:id = "@+id/bt_acrescentar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/bt_acrescentar" android:layout_below = "@id/bt_gravar" android:layout_centerhorizontal = "true" />

12 <Button android:id = "@+id/bt_limpar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/bt_limpar" android:layout_below = "@id/bt_acrescentar" android:layout_centerhorizontal = "true" /> <Button android:id = "@+id/bt_mostrar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/bt_mostrar" android:layout_below = "@id/bt_limpar" android:layout_centerhorizontal = "true" /> </RelativeLayout> 3) Atualize a classe MainActivity.java para que fique conforme mostrado a seguir. package com.exercicios.tema3_internal; import android.app.activity; import android.view.view; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.ioexception; import java.io.inputstreamreader; import java.io.outputstreamwriter; import android.os.bundle; import android.widget.button; import android.widget.edittext; public class MainActivity extends Activity private EditText public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); caixadetexto = (EditText) findviewbyid(r.id.entrada); Button btgravar = (Button) findviewbyid(r.id.bt_gravar); Button btacrescentar = (Button) findviewbyid(r.id.bt_acrescentar); Button btlimpar = (Button) findviewbyid(r.id.bt_limpar); Button btmostrar = (Button) findviewbyid(r.id.bt_mostrar); btgravar.setonclicklistener(new View.OnClickListener() public void onclick(view v) String str = caixadetexto.gettext().tostring(); try FileOutputStream arq = openfileoutput("dados.txt", MODE_WORLD_WRITEABLE); OutputStreamWriter gravador = new OutputStreamWriter(arq); gravador.write(str); gravador.flush();

13 ); gravador.close(); caixadetexto.settext(""); catch (IOException ex) ex.printstacktrace(); btacrescentar.setonclicklistener(new View.OnClickListener() public void onclick(view v) String str = caixadetexto.gettext().tostring(); try FileOutputStream arq = openfileoutput("arquivo.txt", MODE_APPEND); OutputStreamWriter gravador = new OutputStreamWriter(arq); gravador.write(str); gravador.flush(); gravador.close(); caixadetexto.settext(""); catch (IOException ex) ex.printstacktrace(); ); btlimpar.setonclicklistener(new View.OnClickListener() public void onclick(view v) try FileOutputStream arq = openfileoutput("dados.txt", MODE_WORLD_WRITEABLE); OutputStreamWriter gravador = new OutputStreamWriter(arq); gravador.write(""); gravador.flush(); gravador.close(); caixadetexto.settext(""); catch (IOException ex) ex.printstacktrace(); ); btmostrar.setonclicklistener(new View.OnClickListener() public void onclick(view v) try FileInputStream arq = openfileinput("dados.txt"); InputStreamReader leitor = new InputStreamReader(arq); char[] entrada = new char[100]; String saida = ""; int c; while ((c = leitor.read(entrada))>0)

14 String cadeia = String.copyValueOf(entrada, 0, c); saida = saida + cadeia; entrada = new char[100]; caixadetexto.settext(s); catch (IOException ex) ex.printstacktrace(); ); 6) Altere o conteúdo do arquivo strings.xml (em res/value) acrescentando as linhas a seguir. <string name="lb_orientacao">digite um texto qualquer:</string> <string name="bt_gravar">gravar</string> <string name="bt_acrescentar">acrescentar</string> <string name="bt_limpar">limpar</string> <string name="bt_mostrar">mostrar</string> Ao executar a aplicação será mostrada uma tela como esta: 3)Usando gravação externa (external storage) Além de gravar dados na memória interna de um dispositivo móvel, podemos armazená-los, externamente, com em cartões SD.

15 Para isso, Environment que, através do método getexternalstoragedirectory() armazenamento externo. fornece o caminho completo do A seguir, temos o exemplo de uma aplicação que consegue gravar e ler dados armazenados de um arquivo gravado em memória externa. Neste exemplo temos uma aplicação que disponibiliza botões para Gravar dados em memória externa (apagando o que eventualmente já estiver gravado) e Mostrar dados gravados na memória externa. 1) Criar um novo projeto android (no exemplo o projeto se chama Tema3_external, com pacote com.exercicios.tema3_external). 2) Atualize o arquivo activity_main.xml (em res/layout) para que fique conforme mostrado a seguir: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="com.exercicios.tema3_external.mainactivity" > <TextView android:id = "@+id/orientacao" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:text="@string/lb_orientacao" android:layout_centerhorizontal = "true" /> <EditText android:id="@+id/entrada" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below = "@id/orientacao" android:layout_centerhorizontal = "true" /> <Button android:id = "@+id/bt_gravar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/bt_gravar" android:layout_below = "@id/entrada"

16 android:layout_centerhorizontal = "true" /> <Button android:id = "@+id/bt_mostrar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/bt_mostrar" android:layout_below = "@id/bt_gravar" android:layout_centerhorizontal = "true" /> </RelativeLayout> 3) Atualize a classe MainActivity.java para que fique conforme mostrado a seguir. package com.exercicios.tema3_external; import android.app.activity; import android.view.view; import java.io.file; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.ioexception; import java.io.inputstreamreader; import java.io.outputstreamwriter; import android.os.bundle; import android.os.environment; import android.widget.button; import android.widget.edittext; public class MainActivity extends Activity private EditText public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); caixadetexto = (EditText) findviewbyid(r.id.entrada); Button btgravar = (Button) findviewbyid(r.id.bt_gravar); Button btmostrar = (Button) findviewbyid(r.id.bt_mostrar); btgravar.setonclicklistener(new View.OnClickListener() public void onclick(view v) String str = caixadetexto.gettext().tostring(); try File sdcard = Environment.getExternalStorageDirectory(); File directory = new File (sdcard.getabsolutepath() + "/arquivos"); directory.mkdirs(); File arq = new File(directory, "dados.txt"); FileOutputStream streamout = new FileOutputStream(arq); OutputStreamWriter gravador = new OutputStreamWriter(streamOut); gravador.write(str); gravador.flush();

17 gravador.close(); caixadetexto.settext(""); catch (IOException ex) ex.printstacktrace(); ); btmostrar.setonclicklistener(new View.OnClickListener() public void onclick(view v) try File sdcard = Environment.getExternalStorageDirectory(); File directory = new File (sdcard.getabsolutepath() + "/arquivos"); File arq = new File(directory, "dados.txt"); FileInputStream streamin = new FileInputStream(arq); InputStreamReader leitor = new InputStreamReader(streamIn); char[] entrada = new char[100]; String saida = ""; int c; while ((c = leitor.read(entrada))>0) String cadeia = String.copyValueOf(entrada, 0, c); saida = saida + cadeia; entrada = new char[100]; caixadetexto.settext(saida); leitor.close(); catch (IOException ex) ex.printstacktrace(); ); 6) Altere o conteúdo do arquivo strings.xml (em res/value) acrescentando as linhas a seguir. <string name="lb_orientacao">digite um texto qualquer:</string> <string name="bt_gravar">gravar</string> <string name="bt_mostrar">mostrar</string> 7) Altere o conteúdo do arquivo Androidmanifest.xml para que fique assim: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.exercicios.tema3_external" android:versioncode="1" android:versionname="1.0" >

18 <uses-sdk android:minsdkversion="8" android:targetsdkversion="21" /> <uses-permission android:name="android.permission.write_external_storage"> </uses-permission> <application android:allowbackup="true" > <activity android:name=".mainactivity" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher"/> </intent-filter> </activity> </application> </manifest> Ao executar a aplicação será mostrada uma tela como esta: 4)Usando BD SQLite Permite que a aplicação trabalhe com um conjunto de dados relacionais. O BD criado para o aplicativo ficará restrito ao seu próprio uso, não sendo visível para outras aplicações. O Android fornece suporte nativo ao sistema de banco de dados SQLite, que é bastante simples e consome poucos recursos. Para um projeto trabalhar com SQLite, é necessário:

19 a) Criação de uma classe que estenda a classe SQLiteOpenHelper Nesta classe deverá fornecer implementações que sobreponham os métodos herdados: oncreate() que cria a base de dados quando a aplicação é instalada. onupdade() que atualiza a base de dados para novas versões. A classe SQLiteOpenHelper também oferece dois métodos responsáveis por obter uma instância do banco de dados com o qual se deseja trabalhar em mode de leitura e de escrita. São eles getwritabledatabase() e getreadabledatabase(). Além disso, é importante criar métodos responsáveis por acessar o banco de dados realizando, consultas, inserções, alterações e remoções. Glossário: BD Bando de dados ou Base de dados. SQLite Banco de dados relacional disponibilizado nativamente pelo android. Storage Armazenamento de dados de forma persistente.

20 Entenda como utilizar gravação utilizando Shared Preferences assistindo ao vídeo SharedPreferences no Android, Entendendo e Utilizando. Disponível em Tempo: 37:05 Analise um exemplo de aplicações realizando persistência de dados com SharedePreferences e em armazenamento interno lendo TUTORIAL Android Parte 4 Persistência de Dados. Disponível em persistencia-de-dados. Entenda como realizar persistência de dados usando banco de dados SQLite assistindo ao vídeo SQLite no Android, Entendendo e Utilizando. Disponível em Tempo: 30:36

21 Instruções: Questão 1: Considerando o que foi estudado no tema anterior sobre activity, views, event handlers e event listeners, criar uma aplicação contendo radio buttom que representem as estações climáticas do ano. Além disso, a tela deverá mostrar 2 botões: Confirmar e Encerrar. Ao clicar no botão Confirmar, mostrar a estação do ano escolhida pelo cliente. Ao clicar no botão Encerrar, finalizar a execução da aplicação. A seguir está mostrado layout do que é desejado.

22 Questão 2: A forma de persistência de dados que permite a gravação de pares (chave, valor) é: a) Internal Storage b) External Storage c) SharedPreferences d) Banco de dados SQLite e) ClosedPreferences Questão 3: Para se trabalhar com um banco de dados SQLite deve-se estender uma determinada classe, e nela sobrescrever os métodos oncreate() e onupdate(). Assinale a alternativa que contém o nome da classe que deve ser estendida. a) SQLiteDataBase b) SQLiteManager c) SQLiteNewHelper d) SQLiteOpenHelper e) SQLiteInstructions

23 Questão 4: Neste tema foram estudadas diferentes formas de aplicações para android persistirem dados. Apresente situações em que o uso da persistência por SharedPreferences, Internal Storage e External Storage são indicadas. Questão 5: Desenvolva uma aplicação que trabalhe com um banco dados SQLite chamado empresa. Neste banco, criar uma tabela chamada pessoas, cujas colunas são: código (auto-incremento) e nome (texto não nulo). A aplicação deve ter uma activity que permita gravar dados de uma pessoa e mostrar os dados já cadastrados. A seguir estão apresentado layout do que se deseja.

24 Finalizando: Neste tema você estudos conceitos importantíssimos no desenvolvimento de aplicações para dispositivos móveis utilizando android. A apresentação de widgets e o tratamento dos eventos decorrentes das ações dos usuários são itens indispensáveis a qualquer aplicação. Neste momento é importante destacar que conceitos de programação orientada a objetos são imprescindíveis, pois permitem ao desenvolvedor utilizar ao máximo os recursos fornecidos pelo framework. REFERÊNCIAS LEE, Wei-Meng, Introdução ao Desenvolvimento de Aplicativos para o Android. 1.ed. Rio de Janeiro: Ciência Moderna, CALOPSITA, Thiengo. SharedPreferences no Android, Entendendo e Utilizando. Disponível em: Acesso em: 05 set CALOPSITA, Thiengo. SQLite no Android, Entendendo e Utilizando. Disponivel em: < Acesso em: 05 set

25 K19. Desenvolvimento Mobile com Android. Disponível em: < desenvolvimento-mobile-com-android>. Acesso em: 05 set MOBILTEC. TUTORIAL Android Parte 4 Persistência de Dados. Disponível em: < Acesso em 05 set GABARITO- Aula 3: Persistência de dados Tema 3: Persistência de dados Questão 1: 1) Criar um novo projeto android (nesta resolução foi criado um projeto chamado tema3_ex1, no pacote com.exercicios.tema3_ex1). 2) Na pasta res/layout alterar o arquivo activity_main.xml para que ele fique conforme apresentado a seguir. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent"

26 android:layout_height="fill_parent" android:orientation="vertical" > <RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" /> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" /> </RadioGroup> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 3) Alterar o conteúdo da classe MainActivity.java para que fique assim: package com.exercicios.tema3_ex1; import android.app.activity; import android.os.bundle;

27 import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.radiobutton; import android.widget.radiogroup; import android.widget.toast; public class MainActivity extends Activity private RadioGroup radiogroupid; private RadioButton radiogenderbutton; private Button bt_confirmar; private Button public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); addbuttonlistener(); public void addbuttonlistener() radiogroupid = (RadioGroup) findviewbyid(r.id.radioestacoesdoano); bt_confirmar = (Button) findviewbyid(r.id.bt_confirmar); bt_fechar = (Button) findviewbyid(r.id.bt_fechar); bt_confirmar.setonclicklistener(new public void onclick(view v) int selectedoption = radiogroupid.getcheckedradiobuttonid(); radiogenderbutton = (RadioButton) findviewbyid(selectedoption); Toast.makeText(MainActivity.this, "Você escolheu " + radiogenderbutton.gettext(), Toast.LENGTH_SHORT).show(); ); bt_fechar.setonclicklistener(new public void onclick(view v) finish(); ); 4) Em res/values alterar o arquivo string.xml acrescentando as linhas a seguir. <string name="lb_primavera">primvera</string> <string name="lb_verao">verao</string> <string name="lb_outono">outono</string>

28 Questão 2: <string name="lb_inverno">inverno</string> <string name="lb_confirmar">confirme a escolha</string> <string name="lb_fechar">encerrar a aplicação</string> Alternativa correta: C Armazenamento de dados no formato de um par (chave, valor) deve ser feito através de SharedPreferences. Importante salientar que tais dados gravados através desta estratégia ficarão restritos à aplicação que os criou. Questão 3: Alternativa correta: D SQLiteOpenHelper é uma classe que permite a manipulação de um banco de dados SQLite. Para ser usada, ela deve ser estendida por alguma outra classe da aplicação, na qual os métodos oncreate() e onupdate() serão sobrepostos. O método oncreate() é executado para criar um banco de dados. Isto pode acontecer quando a aplicação for executada pela primeira vez ou nos casos em que o banco de dados tenha sido eliminado. Já o método onupdate() será executado toda vez que houver diferença na versão do banco. Normalmente existe a necessidade de executar o onupadate() quando há atualização de versão da aplicação. Dentro do método onupdate() a aplicação pode executar qualquer alteração necessária no banco de dados. Questão 4: Persistência de dados usando ShredPreferences é indicado quando se deseja armazenar dados que podem ser representados em pares (chave, valor). Este tipo de dado é interessante quando se deseja gravar configurações do

29 usuário, como: nome, tema do plano de fundo, tipo de letra, cor de botão, data do último acesso, etc. Persistência de dados usando Internal Storage pode ser usada para gravar dados não estruturados que o usuário tem necessidade de registrar e que não serão compartilhados por outras aplicações. Pode ser um lembrete, uma anotação. Não existe uma pré-estruturação dos dados que podem ser gravados. Persistência de dados usando External Storage pode ser usada quando existe a necessidade de compartilhar dados com outros usuários ou outras aplicações. Nestas situações realizar gravações em um meio externo, como um cartão SD, pode ser uma excelente estratégia. Questão 5: 1) Criar um novo projeto android (nesta resolução foi criado um projeto chamado Tema3_sqlite, no pacote com.exercicios.tema3_sqlite). 2) Alterar o conteúdo do arquivo activity_main.xml (na pasta res/layout) para que seu conteúdo fique conforme apresentado a seguir. <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/lb_nome" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/lb_nome"> <requestfocus /> </TextView> <EditText android:id="@+id/txt_nome" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" /> <Button android:id="@+id/bt_gravar" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/lb_gravar" /> <Button android:id="@+id/bt_mostrar" android:layout_width="match_parent"

30 android:layout_height="wrap_content" /> </LinearLayout> 3) Em res/values, alterar o arquivo string.xml acrescentando as linhas a seguir. <string name="lb_gravar">gravar</string> <string name="lb_mostrar">mostrar</string> <string name="lb_nome">digite um nome: </string> 4) Alterar o conteúdo da classe MainActivity.java, deixando-o conforme apresentado a seguir. package com.exercicios.tema3_sqlite; import android.app.activity; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.toast; import android.database.cursor; public class MainActivity extends public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); final AcessoBanco db = new AcessoBanco(this); final EditText txtnome=(edittext)findviewbyid(r.id.txt_nome); Button btgravar = (Button) findviewbyid(r.id.bt_gravar); Button btmostrar = (Button) findviewbyid(r.id.bt_mostrar); btgravar.setonclicklistener(new View.OnClickListener() public void onclick(view v) String novonome = txtnome.gettext().tostring(); db.open(); db.inserepessoa(novonome); db.close(); txtnome.settext(""); mostraregistro("inserção realizada com sucesso. "); ); btmostrar.setonclicklistener(new View.OnClickListener() public void onclick(view v) db.open(); Cursor c = db.getcadastros(); if (c.movetofirst()) do mostraregistro(c);

31 ); while (c.movetonext()); db.close(); public void mostraregistro(cursor c) Toast.makeText(this, "Codigo: " + c.getstring(0) + "\n" + "Nome: " + c.getstring(1) + "\n", Toast.LENGTH_SHORT).show(); public void mostraregistro(string msg) Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); 5) Criar uma classe chamada Conexao.java, com o conteúdo mostrado a seguir. package com.exercicios.tema3_sqlite; import android.content.context; import android.database.sqlexception; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.util.log; public class Conexao extends SQLiteOpenHelper private static final String TAG = "DBAdapter"; private static final String NOME_BD = "empresa"; private static final int DATABASE_VERSION = 2; private static final String DATABASE_CREATE = "create table pessoas (codigo integer primary key autoincrement, nome text not null);"; Conexao(Context context) super(context, NOME_BD, null, public void oncreate(sqlitedatabase db) try db.execsql(database_create); catch (SQLException e) e.printstacktrace();

32 @Override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) Log.w(TAG, "Atualizando banco de dados da versão " + oldversion + " para " + newversion + ". Todos os dados serão destruidos."); db.execsql("drop TABLE IF EXISTS pessoas"); oncreate(db); 6) Criar uma classe chamada AcessoBanco.java, com o conteúdo mostrado a seguir. package com.exercicios.tema3_sqlite; import android.content.contentvalues; import android.content.context; import android.database.cursor; import android.database.sqlexception; import android.database.sqlite.sqlitedatabase; public class AcessoBanco public static final String CODIGO = "codigo"; public static final String NOME = "nome"; private static final String NOME_BD = "empresa"; private static final String NOME_TABELA = "pessoas"; private final Context context; private Conexao conector; private SQLiteDatabase db; public AcessoBanco(Context ctx) this.context = ctx; conector = new Conexao(context); public AcessoBanco open() throws SQLException db = conector.getwritabledatabase(); return this; public void close() conector.close(); public long inserepessoa(string name) ContentValues initialvalues = new ContentValues(); initialvalues.put(nome, name); return db.insert(nome_tabela, null, initialvalues);

33 public boolean remmovepessoa(long cod) return db.delete(nome_tabela,codigo+"="+cod, null) > 0; public Cursor getcadastros() return db.query(nome_tabela, new String[] CODIGO, NOME, null, null, null, null, null); public Cursor getpessoa(long cod) throws SQLException Cursor mcursor = db.query(true, NOME_TABELA, new String[] CODIGO, NOME, CODIGO + "=" + cod, null, null, null, null, null); if (mcursor!= null) mcursor.movetofirst(); return mcursor; public boolean updatepessoa(long cod, String name, String ) ContentValues args = new ContentValues(); args.put(nome, name); return db.update(nome_bd, args, CODIGO + "=" + cod, null) > 0;

34

============================== Exemplo ListView MainActivity.java

============================== Exemplo ListView MainActivity.java FACULDADE DE TECNOLOGIA SENAC PELOTAS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Tópicos Avançados em ADS Edécio Fernando Iepsen ============================== Exemplo ListView

Leia mais

Login. Criar uma nova Activity. Login. Luiz Eduardo Guarino de Vasconcelos

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)

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

Programação para Dispositivos Móveis. Banco de Dados (SQLite)

Programação para Dispositivos Móveis. Banco de Dados (SQLite) Programação para Dispositivos Móveis Banco de Dados (SQLite) SQLite O Android possui suporte nativo ao SQLite O SQLite é um mecanismo de banco de dados SQL incorporado. Ao contrário da maioria dos outros

Leia mais

Firebase. Acesse o site https://firebase.google.com/?hl=pt-br Acesse o menu Go to Console. Acesse com uma conta Google ou crie uma conta.

Firebase. Acesse o site https://firebase.google.com/?hl=pt-br Acesse o menu Go to Console. Acesse com uma conta Google ou crie uma conta. Firebase Acesse o site https://firebase.google.com/?hl=pt-br Acesse o menu Go to Console. Acesse com uma conta Google ou crie uma conta. Adicione um projeto. Crie um projeto Para usar o Firebase num projeto

Leia mais

Criando as primeiras telas (Activity)

Criando as primeiras telas (Activity) File > New > New Project Observe o conteúdo dos arquivos MainActivity e activity_main.xml. Alterar strings.xml primeiro app Usar FindUsages para

Leia 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

Trabalhando com Mensagens. File > New > New Project. Uso de mensagens (Toast) Luiz Eduardo Guarino de Vasconcelos

Trabalhando com Mensagens. File > New > New Project. Uso de mensagens (Toast) Luiz Eduardo Guarino de Vasconcelos Trabalhando com Mensagens File > New > New Project Alterando o Título da ActionBar Alterar strings.xml exemplo1 exemplo1 - Guarino

Leia 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

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Prof. MSc. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br Programação para Dispositivos Móveis Aula: CRUD Agenda com SQLite Parte II Caxias - MA Projeto Android Estrutura Activity MainActivity.java

Leia 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

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

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

Mensagens. Para conhecimento. Renomear arquivos. Botão Direito no arquivo > Rafactor > Rename Shift + F6

Mensagens. Para conhecimento. Renomear arquivos. Botão Direito no arquivo > Rafactor > Rename Shift + F6 Mensagens Qual a finalidade da mensagem que é exibida para o usuário? - Toasts não necessariamente serão lidas pelos usuários pois aparecem e somem rapidamente. - Alerts são mensagens críticas para o usuário.

Leia 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

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

Armazenamento de Dados

Armazenamento de Dados Persistência... Armazenamento de Dados Diversas opções para armazenar dados da aplicação. A escolha de acordo com a necessidade: dados privados ou públicos, quantidade de espaço necessário, etc. 2 Armazenamento

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 Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Professor Ariel da Silva Dias Desenvolvendo para Android Android Core Uma aplicação Android é formada por um conjunto de componentes; A este conjunto damos o nome de

Leia 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

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

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

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

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

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

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. Retrofit para consumir Web Service Luiz Eduardo Guarino de Vasconcelos Retrofit Criar um novo projeto Selecionar a API Empty Activity MainActivity Finish. Adicionar Novas Dependências Menu File > Project Structure Modulo app > Aba Dependencies Clique em adicionar (+) no canto

Leia 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

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

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

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

Armazenamento em Banco de Dados em Aplicações Android. Prof. Fellipe Aleixo

Armazenamento em Banco de Dados em Aplicações Android. Prof. Fellipe Aleixo Armazenamento em Banco de Dados em Aplicações Android Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Opções de Armazenamento Shared Preferences Armazenamento de pares chave- valor Internal Memory UAliza

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

Programando Intenções. Prof. Fellipe Aleixo

Programando Intenções. Prof. Fellipe Aleixo Programando Intenções Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Conteúdo Desenvolvimento de uma aplicação para registrar contatos (nome e telefones) e realizar chamadas Intent (intenções) Aplicações

Leia mais

Tutorial: Utilização do sqlite no Android (Parte I)

Tutorial: Utilização do sqlite no Android (Parte I) Tutorial: Utilização do sqlite no Android (Parte I) Date : 7 de Abril de 2012 Por Mário Baltazar para o Pplware Tutorial realizado no âmbito do Mestrado em Computação Móvel do Instituto Politécnico da

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

Navegar entre páginas Necessário o uso de Intent. Intenção de ir a algum lugar, acessar outros recursos, outros apps.

Navegar entre páginas Necessário o uso de Intent. Intenção de ir a algum lugar, acessar outros recursos, outros apps. Navegar entre páginas Necessário o uso de Intent. Intenção de ir a algum lugar, acessar outros recursos, outros apps. Alterar o oncreate dentro de LoginActivity.java, para chamar uma próxima Activity.

Leia mais

Tutorial sobre criação de regras de negócio para Android. Igor Rafael Santos da Silva

Tutorial sobre criação de regras de negócio para Android. Igor Rafael Santos da Silva Tutorial sobre criação de regras de negócio para Android Igor Rafael Santos da Silva Este tutorial dará atenção à criação de regras de negócio em um ambiente de desenvolvimento Android. Primeiramente,

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

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

Fragments. Criar um novo projeto. Selecionar a API. Navigation Drawer Activity. Fragments. Luiz Eduardo Guarino de Vasconcelos

Fragments. Criar um novo projeto. Selecionar a API. Navigation Drawer Activity. Fragments. Luiz Eduardo Guarino de Vasconcelos Criar um novo projeto Selecionar a API Navigation Drawer Activity MainActivity Finish. Adicionar as Dependências do ButterKnife. butterknife butterknife-compiler. Veja o tutorial do ButterKnife no site.

Leia mais

Desenvolvimento de Aplicativos Android

Desenvolvimento de Aplicativos Android Desenvolvimento de Aplicativos Android Criando uma Interface Simples A partir do diretório res/layout/ abra o activity_main.xml. Este arquivo XML define o layout da sua activity. Ele contém o texto padrão

Leia 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

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

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

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

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

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

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

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

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

Google Android. Uma abordagem prática e didática. Rafael Guimarães Sakurai. Esse livro está à venda em

Google Android. Uma abordagem prática e didática. Rafael Guimarães Sakurai. Esse livro está à venda em Google Android Uma abordagem prática e didática Rafael Guimarães Sakurai Esse livro está à venda em http://leanpub.com/google-android Essa versão foi publicada em 2018-03-02 Esse é um livro Leanpub. A

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

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

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

Android #4. antonio deusany de carvalho junior dj@ime.usp.br

Android #4. antonio deusany de carvalho junior dj@ime.usp.br Android #4 antonio deusany de carvalho junior dj@ime.usp.br Preferências compartilhadas Memória interna Memória externa SQLite Databases Network Connection Preferências compartilhadas Utiliza um framework

Leia mais

Armazenamento de Dados

Armazenamento de Dados Persistência... Armazenamento de Dados Diversas opções para armazenar dados da aplicação. A escolha de acordo com a necessidade: dados privados ou públicos, quantidade de espaço necessário, etc. 2 Armazenamento

Leia mais

Computação Móvel Gerenciadores de Layout (Ref. Cap. 6)

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

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

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

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

Programação para Dispositivos Móveis. Activity e Intent

Programação para Dispositivos Móveis. Activity e Intent Programação para Dispositivos Móveis Activity e Intent Activity É um módulo único e independente do aplicativo que fornece uma tela com a qual os usuários podem interagir O gerenciamento na memória, o

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

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

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

Desenvolvimento Mobile com Android

Desenvolvimento Mobile com Android TREINAMENTOS Desenvolvimento Mobile com Android Android 8 de outubro de 2012 Sumário i Sobre a K19 1 Seguro Treinamento 2 Termo de Uso 3 Cursos 4 1 Introdução à plataforma Android 1 1.1 O que é o Android?........................................

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Aula 2 Vidal. Ronnison Reges 1 1 Análise e Desenvolvimento de Sistemas - Parangaba Centro Universitário Estácio do Ceará 2018 Vidal. Ronnison Reges (Centro Universitário

Leia mais

Programação para a Plataforma Android Aula 2. Aula 2 Views

Programação para a Plataforma Android Aula 2. Aula 2 Views Programação para a Plataforma Android Aula 2 Aula 2 Views O que é modelo, visão e controle Como definir layouts gráficos Como Separar visão de modelo Como criar layouts em arquivos XML Como adicionar eventos

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

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

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

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

Computação Móvel Conceitos Básicos do Android Ref. Capítulo 3

Computação Móvel Conceitos Básicos do Android Ref. Capítulo 3 Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Computação Móvel Conceitos Básicos do Android Ref. Capítulo 3 Vicente Amorim vicente.amorim.ufop@gmail.com Sumário * Estrutura

Leia mais

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

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

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Computação Móvel ActionBar e Temas (Ref. Cap. 5)

Computação Móvel ActionBar e Temas (Ref. Cap. 5) Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Computação Móvel ActionBar e Temas (Ref. Cap. 5) Vicente Amorim vicente.amorim.ufop@gmail.com Sumário * Introdução * ActionBar

Leia 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

Hierarquia de classes. Veja as diversas classes do pacote

Hierarquia de classes. Veja as diversas classes do pacote Entrada e Saída Introdução Input e Output fazem parte do pacote java.io Esse pacote tem uma quantidade grande de classes que dão suporte a operações de entrada e saída As classes básicas são InputStream

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Hello World Professor: Danilo Giacobo OBJETIVOS DA AULA Desenvolver o primeiro aplicativo Android Se familiarizar com o ambiente de desenvolvimento Conhecer os principais

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

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

Vamos falar de Hibernate?

Vamos falar de Hibernate? Vamos falar de Hibernate? Hibernate é um framework ORM (Object-Relationship Management) muito bacana que nos permite ter muita produtividade na manipulação de objetos a serem persistidos no banco de dados.

Leia mais

Prof. A. G. Silva. 13 de novembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de / 1

Prof. A. G. Silva. 13 de novembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de / 1 INE5603 Introdução à POO Prof. A. G. Silva 13 de novembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de 2017 1 / 1 Introdução à manipulação de arquivos Prof. A. G. Silva INE5603

Leia mais

Android BANCO DE DADOS - SQLITE. Prof. Joaquim assunção.

Android BANCO DE DADOS - SQLITE. Prof. Joaquim assunção. Android BANCO DE DADOS - SQLITE Prof. Joaquim assunção. SQLite É um sistema de gerenciamento de banco de dados relacional contido em uma biblioteca de programação C. Em contraste com muitos outros sistemas

Leia mais

Google Android. Uma abordagem prática e didática. Rafael Guimarães Sakurai, Diogo Carleto, erodrigo Cascarrolho

Google Android. Uma abordagem prática e didática. Rafael Guimarães Sakurai, Diogo Carleto, erodrigo Cascarrolho Google Android Uma abordagem prática e didática Rafael Guimarães Sakurai, Diogo Carleto, erodrigo Cascarrolho Esse livro está à venda em http://leanpub.com/google-android Essa versão foi publicada em 2015-08-03

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE Ficha de Expectativa de Resposta da Prova Escrita

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE Ficha de Expectativa de Resposta da Prova Escrita UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE Ficha de Expectativa de Resposta da Prova Escrita Departamento Acadêmico ou Unidade Acadêmica Especializada em Ciências Agrárias Unidade Acadêmica Especializada

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

Programa de Dispositivos Móveis

Programa de Dispositivos Móveis Aula 01 Programa de Dispositivos Móveis A Plataforma Android O Android é um conjunto de softwares voltado para dispositivos móveis, como smartphones, tablets, smartbooks ou netbooks. Hoje no mercado existem

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

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

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

Nelson Glauber de Vasconcelos Leal

Nelson Glauber de Vasconcelos Leal Nelson Glauber de Vasconcelos Leal Novatec Copyright 2015 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial,

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

Programação para Android. Aula 07: Persistência de dados Shared Preferences, Internal e External Storage

Programação para Android. Aula 07: Persistência de dados Shared Preferences, Internal e External Storage Programação para Android Aula 07: Persistência de dados Shared Preferences, Internal e External Storage Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados.

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

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

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

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

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