Mudanças entre as edições de "Laboratório de App Inventor 3"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(7 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 4: Linha 4:
  
 
*usar os componentes ''PhoneCall'' e ''PhoneNumberPicker'' (tratamento de chamada e lista telefônica);
 
*usar os componentes ''PhoneCall'' e ''PhoneNumberPicker'' (tratamento de chamada e lista telefônica);
*usar o componente ''Texting'' para o envio de mensagens SMS;
+
*reaproveitar o código de um aplicativo já realizado para incluir novas funções
*usar o component ''tinyDB'' para armazenar dados não voláteis no telefone;
 
*saber como mudar nomes de componentes (botão '''Rename''' na janela principal do projeto);
 
*saber(revisar) como usar o comando ''foreach'' para manipular listas;
 
*rever o uso de '''listas''';
 
*usar o componente ''TinyWebDB'' para armazenar dados via ''Web''.
 
  
=Preparando o telefone ''Android'' para receber as aplicações =
+
=Preparando o telefone ''Android'' para receber as aplicações=
 
 
= Uso dos componentes ''PhoneCall'' e ''PhoneNumberPicker'' =
 
 
 
Os componentes [http://beta.appinventor.mit.edu/learn/reference/components/social.html#PhoneCall ''PhoneCall''] e [http://beta.appinventor.mit.edu/learn/reference/components/social.html#PhoneNumberPicker ''PhoneNumberPicker''] permitirão realizar chamadas telefônicas e acesso a agenda telefônica do ''Android''.
 
 
 
Para um teste completo do tutorial que se segue, você deverá ter um telefone com ''Android'' conectado ao seu sistema. O emulador poderá ser usado mas as chamadas não serão efetuadas.
 
 
 
[http://beta.appinventor.mit.edu/learn/tutorials/piccall/piccall.html Acessar o tutorial ''PicCal''] [http://translate.google.com.br/translate?sl=en&tl=pt&js=n&prev=_t&hl=pt-BR&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fbeta.appinventor.mit.edu%2Flearn%2Ftutorials%2Fpiccall%2Fpiccall.html&act=url pt.]
 
 
 
OBS: Nos telefones testados o PhoneNumberPicker está apresentando problemas.
 
 
 
 
 
'''Exercício complementar''': adicione um componente ''Label'' para mostrar o nome da pessoa que está sendo chamada. Acrescente um botão para reiniciar, apresentando o número e nome original do início do programa.
 
 
 
==Exercício==
 
Implementar o PicCal com a agenda telefônica implementada na aula passada.
 
:Adicione os componentes [http://beta.appinventor.mit.edu/learn/reference/components/social.html#PhoneCall ''PhoneCall''] e mais um "Button".  Mude seus nomes para ''Discador'' e ''DiscarNumero''.
 
:Acrescente o código que faça com que ao acionar o Botão ''DiscarNumero'', o número que está selecionado na agenda seja discado.
 
==Dica de como configurar o computador para reconhecer os celulares ANDROID==
 
 
As dicas detalhadas sobre a configuração podem ser encontradas no site [http://developer.android.com/guide/developing/device.html Using Hardware Devices].  
 
As dicas detalhadas sobre a configuração podem ser encontradas no site [http://developer.android.com/guide/developing/device.html Using Hardware Devices].  
 
{{collapse top| Para configurar no Ubuntu, siga o seguinte procedimento:}}
 
{{collapse top| Para configurar no Ubuntu, siga o seguinte procedimento:}}
:1. Abra um terminal e digite (sudo -i) e sua senha (você precisa ser sudoer para poder configurar o hardware) :  
+
:1. Abra um terminal e faça o login como root (você precisa ser sudoer para poder configurar o hardware) :  
 
<code>
 
<code>
 
sudo -i
 
sudo -i
 
</syntaxhighlight>
 
</syntaxhighlight>
:2. Crie o arquivo  /etc/udev/rules.d/51-android.rules
+
:2.  Adicione um arquivo udev rules que irá conter a configuração de USB para cada tipo de dispositivo que você deseja utilizar. Crie o arquivo  /etc/udev/rules.d/51-android.rules
 
<code>
 
<code>
 
gedit /etc/udev/rules.d/51-android.rules
 
gedit /etc/udev/rules.d/51-android.rules
Linha 81: Linha 57:
 
./adb devices
 
./adb devices
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
5.Ligue o modo "USB Debugging" no seu Celular (ou Tablet).
 +
:No dispositivo vá até Configurações > Aplicações > Opções de Desenvolvimento > habilite USB debugging (nos dispositivos Android 4.0, Configurações > Aplicações > Opções de Desenvolvimento > habilite USB debuggin).
 
{{collapse bottom}}
 
{{collapse bottom}}
  
= Uso dos comnponentes ''Texting'' e ''tinyDB'' =
+
= Uso dos componentes ''PhoneCall'' e ''PhoneNumberPicker'' =
  
O componente [http://beta.appinventor.mit.edu/learn/reference/components/social.html#Texting ''Texting''] permite a recepção e envio de mensagens SMS, enquanto o componente [http://beta.appinventor.mit.edu/learn/reference/components/basic.html#TinyDB ''tinyDB''] permite o armazenamento de dados de forma persistente no seu telefone.
+
Os componentes [http://beta.appinventor.mit.edu/learn/reference/components/social.html#PhoneCall ''PhoneCall''] e [http://beta.appinventor.mit.edu/learn/reference/components/social.html#PhoneNumberPicker ''PhoneNumberPicker''] permitirão realizar chamadas telefônicas e acesso a agenda telefônica do ''Android''.  
  
[http://beta.appinventor.mit.edu/learn/tutorials/broadcasterhub/broadcasterhub.html  Acessar o tutorial ''Broadcast Hub'']
+
Para um teste completo do tutorial que se segue, você deverá ter um telefone com ''Android'' conectado ao seu sistema. O emulador poderá ser usado mas as chamadas não serão efetuadas.
  
No programa implementado neste tutorial é mantida uma lista de números telefônicos para os quais serão prestados serviços de broadcast de mensagem SMS da seguinte forma:
+
[http://beta.appinventor.mit.edu/learn/tutorials/piccall/piccall.html Acessar o tutorial ''PicCal''] [http://translate.google.com.br/translate?sl=en&tl=pt&js=n&prev=_t&hl=pt-BR&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fbeta.appinventor.mit.edu%2Flearn%2Ftutorials%2Fpiccall%2Fpiccall.html&act=url pt.]
  
* Se uma mensagem é recebida de um número desconhecido então a aplicação responde com uma mensagem que convida o número para participar da lista;
+
OBS: Nos telefones testados o PhoneNumberPicker está apresentando problemas.
* Se uma mensagem  “joinabc” é recebida então a aplicação coloca o número que enviou na lista de números;
 
* Se uma mensagem é recebida de um número que já está na lista então a mensagem é enviada para todos os números da lista.
 
  
= Uso do componente ''TinyWebDB'' =
 
  
O componente [http://beta.appinventor.mit.edu/learn/reference/components/other.html#TinyWebDB ''TinyWebDB''] permite que uma aplicação ''app inventor'' armazene de forma persistente informações em uma base de dados acessada via ''web''. Esta facilidade permitirá a comunicação entre aplicações
+
'''Exercício complementar''': adicione um componente ''Label'' para mostrar o nome da pessoa que está sendo chamada. Acrescente um botão para reiniciar, apresentando o número e nome original do início do programa.
de diferentes telefones (implementar jogos multi-usuários, por exemplo).
 
  
Por outro lado, é necessário ter um servidor ''web'' preparado para este serviço. O MIT fornece um servidor que é usado por ''default'' no componente ''TinyWebDB''. Não é garantida a permanência de dados nesta base de dados já que é limitada a 1000 registros que são compartilhados por todos os usuários do sistema. Futuramente proporcionaremos nosso próprio servidor.
+
==Exercício==
 
+
Implementar o PicCal com a agenda telefônica implementada na aula passada.
Exercício: Estude o componente ''TinyWebDB'' e modifique o tutorial anterior para que a mensagem de ''congratulations'' seja lida do servidor. Use a ''tag'' ''IFSC-Congratulation'' para acessar a mensagem.
+
:Adicione os componentes [http://beta.appinventor.mit.edu/learn/reference/components/social.html#PhoneCall ''PhoneCall''] e mais um "Button".  Mude seus nomes para ''Discador'' e ''DiscarNumero''.
 +
:Acrescente o código que faça com que ao acionar o Botão ''DiscarNumero'', o número que está selecionado na agenda seja discado.
  
 
= Telephones e versão de Android testados no IFSC-SJ com App Inventor =
 
= Telephones e versão de Android testados no IFSC-SJ com App Inventor =
  
* Samsung S II - Android 2.3.3 (habilitar para inglês para funcionar sintetizador)
+
* [http://www.gsmarena.com/samsung_i9100_galaxy_s_ii-3621.php Samsung S II] - Android 2.3.3 (habilitar para inglês para funcionar sintetizador)
 
   Obs: tem problemas no picklist
 
   Obs: tem problemas no picklist
* Samsung Fit (gt-S5670L)  - Android 2.2.1 (necessário instalar módulo sintetizador)
+
* [http://www.gsmarena.com/samsung_galaxy_fit_s5670-3726.php Samsung Fit] (gt-S5670L)  - Android 2.2.1 (necessário instalar módulo sintetizador)
 +
* [http://www.gsmarena.com/motorola_defy-3514.php Motorola DEFY] (MB525)  - Android 2.3.7
 +
 
 +
==Bandas de Freqüências para o Celular no Brasil==
 +
*[http://www.teleco.com.br/bandac.asp# Freqüências para o Celular no Brasil] -Teleco
 +
*[http://www.teleco.com.br/4g_freq.asp Freqüências de 4G (LTE) no Brasil] - Teleco
 +
*[http://www.teleco.com.br/mapa.html Mapa Celular do Brasil] - Teleco
 +
 
 +
{{ENGTELECO}}

Edição atual tal como às 08h27min de 2 de maio de 2012

Objetivos

Ao final da aula o aluno deverá, dentro do contexto do app inventor, ser capaz de:

  • usar os componentes PhoneCall e PhoneNumberPicker (tratamento de chamada e lista telefônica);
  • reaproveitar o código de um aplicativo já realizado para incluir novas funções

Preparando o telefone Android para receber as aplicações

As dicas detalhadas sobre a configuração podem ser encontradas no site Using Hardware Devices.

Para configurar no Ubuntu, siga o seguinte procedimento:
1. Abra um terminal e faça o login como root (você precisa ser sudoer para poder configurar o hardware) :

sudo -i </syntaxhighlight>

2. Adicione um arquivo udev rules que irá conter a configuração de USB para cada tipo de dispositivo que você deseja utilizar. Crie o arquivo /etc/udev/rules.d/51-android.rules

gedit /etc/udev/rules.d/51-android.rules </syntaxhighlight>

3. Insira nesse arquivo os fabricantes de celulares que deseja utilizar (pode adicionar todos para facilitar).

SUBSYSTEM==”usb”, ATTRS{idVendor}==”0502″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”0B05″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”413C”, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”0489″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”091E”, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”18D1″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”109B”, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”0BB4″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”12D1″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”24E3″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”2116″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”0482″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”17EF”, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”1004″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”22B8″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”0409″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”2080″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”0955″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”2257″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”10A9″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”1D4D”, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”0471″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”04DA”, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”05C6″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”1F53″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”04E8″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”04DD”, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”0FCE”, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”2340″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”0930″, MODE=”0666″, GROUP=”plugdev” SUBSYSTEM==”usb”, ATTRS{idVendor}==”19D2″, MODE=”0666″, GROUP=”plugdev” </syntaxhighlight> 4. Reinicie os servidores de dispositivos cd /usr/google/appinventor/commands-for-Appinventor ./adb kill-server ./adb devices </syntaxhighlight> 5.Ligue o modo "USB Debugging" no seu Celular (ou Tablet).

No dispositivo vá até Configurações > Aplicações > Opções de Desenvolvimento > habilite USB debugging (nos dispositivos Android 4.0, Configurações > Aplicações > Opções de Desenvolvimento > habilite USB debuggin).

Uso dos componentes PhoneCall e PhoneNumberPicker

Os componentes PhoneCall e PhoneNumberPicker permitirão realizar chamadas telefônicas e acesso a agenda telefônica do Android.

Para um teste completo do tutorial que se segue, você deverá ter um telefone com Android conectado ao seu sistema. O emulador poderá ser usado mas as chamadas não serão efetuadas.

Acessar o tutorial PicCal pt.

OBS: Nos telefones testados o PhoneNumberPicker está apresentando problemas.


Exercício complementar: adicione um componente Label para mostrar o nome da pessoa que está sendo chamada. Acrescente um botão para reiniciar, apresentando o número e nome original do início do programa.

Exercício

Implementar o PicCal com a agenda telefônica implementada na aula passada.

Adicione os componentes PhoneCall e mais um "Button". Mude seus nomes para Discador e DiscarNumero.
Acrescente o código que faça com que ao acionar o Botão DiscarNumero, o número que está selecionado na agenda seja discado.

Telephones e versão de Android testados no IFSC-SJ com App Inventor

  • Samsung S II - Android 2.3.3 (habilitar para inglês para funcionar sintetizador)
 Obs: tem problemas no picklist
  • Samsung Fit (gt-S5670L) - Android 2.2.1 (necessário instalar módulo sintetizador)
  • Motorola DEFY (MB525) - Android 2.3.7

Bandas de Freqüências para o Celular no Brasil


Curso de Engenharia de Telecomunicações