Criou página com ' Esta pesquisa deve fornecer um conteúdo atualizado sobre o tema acima. Não esqueça de incluir as referëncias (fontes) no último item, reforçando que não deve ser um...'
 
Etiqueta: visualeditor
Linha 5: Linha 5:


= Conceito de Developer =
= Conceito de Developer =
<br>
Um '''developer''' no sentido de programação é, na tradução literal, um '''desenvolvedor''' de determinado sistema, linguagem ou código. Um '''developer''' tem como função gerenciar e criar todo o projeto ao qual ele é responsável. Normalmente esse '''desenvolvedor''' é especialista em determinada linguagem ou determinado tipo de sistema.<br>




= Android =
= Android =
<br>
O '''Android''' é um SO (Sistema Operacional) com funcionalidades voltadas para os dispositivos mobile. Atualmente se encontra entre os Sistemas operacionais mais utilizados em todo mundo, concorrendo com sistemas de grandes desenvolvedoras como a '''Microsoft''' (Windows Phone) e a '''Apple''' (IOS)'''.''' Entre suas principais características se encontram:
 
-Handset Layouts
-Conectividade
-Mensagens
-Browser
-Suporte Java
-Suporte Media
-Suporte de Hardware
-Market
-Mensagens
suporta tal como os outros dispositivos, SMS e MMS.
-Browser
o browser do Android é baseado num sistema open source Webkit. 
-Market
é uma loja de aplicações que podem ser descarregadas directamente para o dispositivo e instaladas, sem ser preciso a utilização de um computador. Existem aplicações pagas, mas também gratuitas, maioritariamente. 
-Handset Layouts:
esta plataforma adapta-se “ao grande”, VGA, bibliotecas de gráficos 2D e 3D, e layouts de smartphones tradicionais.
-Conectividade
o Android suporta tecnologias Bluetooth, GSM/EDGE, IDEN, CDMA, etc..
-Suporte Java
as aplicações desta plataforma são feitos em Java.
-Suporte Media
 
o Android suporta MPEG-4, MP3, MIDI, WAV, JPG, PNG, etc..<br>




= API =
= API =
<br>
'''API''' (Application Programming Interface), são ferramentas utilizadas para estabelecer a comunicação entre diferentes softwares afim de que outros programas possam obter informações remotamente de um outro sistema. '''APIs''' são muito utilizados em redes sociais como Facebook, Twitter, etc, para que os visitantes de determinado site possam ter um link direto para a página do mesmo nessas redes sociais, facilitando assim o compartilhamento de informações e promoções do especificado site. <br>




= Requisitos de um App =
= Requisitos de um App =
== Versão do Android ==
Hoje o Google está desenvolvendo a 20ª edição de sua API para Android, ainda é beta, para a próxima versão do Android 5.0, e ao meu ver esta tem com o principal foco os novos recursos de wearable (Tecnologia para Vestir) tanto é que é a primeira API dividida em duas partes: 20W e 20L, mas tudo isso ainda é apenas algo beta!
Quando se desenvolve aplicativos para Android, é necessário especificar o nível de compatibilidade, que hoje são 19 versões de API disponível, portanto criar aplicativos compatível com com as 19 versões é bem mais difícil pois há muita coisa que foi descontinuada entre as versões, e muito mais ainda novos recursos que surgiram, e para ajudar existem bibliotecas auxiliares de compatibilidade, mas que complicam também o desenvolvimento.
Na pratica desenvolver a partir da versão JELLY_BEAN (4.1) é mais fácil pois trata-se dos dispositivos Androids mais modernos e atuais lançados a partir de junho/2012, portanto qualquer projeto quanto mais específico for mais simples é de fazer.
== Tamanho de tela ==
Outra variável muito importante é o tamanho da tela, pois a mesma versão de android pode rodar em um tablet, ou celular de tela grande ou pequeno, e ainda há o Google TV, ChromeCast, e ChromeBook, que também são outros tipos de dispositivos compatível, e nem sempre a proporção de tela é 4:3 ou 16:9, e o DPI muda muito.
Também durante a execução de um aplicativo, com a opção de rotacionar tela automaticamente, basta mudar a posição do aplicativo que tudo já muda, e criar layouts compatível com as duas formas de tela também não é fácil, por outro lado posição fixas de tela pode inviabilizar ou limitar o uso.
Em Tablets cabe muito mais informação em tela, mas em dispositivos menores não adianta só reduzir, se não nada ficará legível seja por causa do DPI, ou porque fica impossível de enxergar, ou fica difícil de tocar no item correto.
Um tela com 300 DPI significa 300 pixel a cada polegada, ou seja: (1/300)*25,4 milímetros = 0,0846 milímetros, isso é menor que a decima parte de 1 milímetro, não da quase par enxergar!
Há celulares com telas de 5” que tem a mesma resolução Full HD de TVs de 42”, ou seja, 1080 pixel de altura (varredura vertical), que fazendo as contastrigonometricamente em uma tela de de 5” com proporção de 16:9 temos
co=9, ca=16, tg=co/ca, tg=9/16=0,5625
arctang(0,5625) => a=0,5123 radianos
portanto 5”*sen(a)=2,45”
matemágica! use a calculadora virtual!
Ou o aplicativo Android Super Screen Specs Checker disponível no Google Play
Mas para simplificar o Google fez algo interessante, criou uma unidade de medidas especial chamada de “DP”, use a calculadora de conversão  para entender melhor o funcionamento, e também padronizou tamanhos de tela de acordo com a densidade: small, normal, large, xlarge
== Método de Entrada ==
Em geral, o mais simples e comum é aplicativo touch simples, com único toque.
Mas para andoroid possível ter multi-toque, usando vários dedos em tela, ou usar caneta de precisa, teclado virtual ou físico, mouse…
Cada tipo de possível suporte de interface tem suas particularidades
== Interconectividade ==
O Básico hoje em dia é o acesso a internet para se conectar a banco de dados, webservices, consumir serviços em json, mas cada tipo de conexão tem seus protocolos e formatos próprios e necessitam de um bom conhecimento de rede.
Mas o aplicativo Android nunca pode fazer chamadas a internet pelo programa principal (MainThread), tem que sempre fazer de forma assíncrona, criando uma tarefa secundaria que irá executar em background, e ai começa a complicar, pois nada mais é síncrono, sequencial, e é necessário orquestrar várias tarefas, renderizar a tela, tudo de forma que uma tarefa não trave a outra, mas saiba esperar a outra acabar, sem contar os eventos do sistema operacional, além os outros aplicativos rodando em paralelo, e tudo sempre respeitando o ciclo de vida das Activity (Cada tela é chamada de uma Atividade) que pode parar, ou continuar a qualquer momento.
Há ainda outas forma de se conectar como o Bluetooth, USB, Serial, NFC, e cada um tem suas características únicas
== Recursos de Hardware ==
Usar os sensores de posição, acelerômetro, Magnético, GPS, Temperatura, umidade no Ar, Barômetro, e por ai vai… de acordo com o modelo tem muita coisa que pode se usada.
Ler a câmera, trabalhar com vídeo, interagir com o hardware sempre requer muita experiência para não travar tudo pois são ações bem pesadas.
Emitir um sinal usando o infravermelho, sintonizar uma radio, ou sinal de TV analógica ou digital, em fim cada coisa tem suas várias particularidades.
== Persistência a Dados ==
Há várias formas e persistir(gravar) e ler dados no Android, a mais simples são os arquivos XML de preferencias de controle interno do Android, tem o acesso a arquivos no dispositivo (FileSystem), e também o sqLite, que é um versão reduzida do MySQL.
Cada forma requer todo um conhecimento as classes de acesso específicas.
<br>
<br>




= Como funciona o Google Play? =
= Como funciona o Google Play? =
A loja virtual de aplicativos Android conhecida como '''Google Play''' funciona de modo semelhante a outras lojas do mesmo seguimento porem de empresas diferentes. O usuário se cadastra com um e mail criado pelo provedor da '''Google''' (gmail), e a partir daí todas os aplicativos da '''Google Play''' estão liberados para serem baixados pelo usuário. Dentro do ambiente virtual o método de compra e de obtenção dos apps é simples e rápido, tendo diversas categorias para pesquisa e apps desde gratuitos até os pagos, com bastante variedade de preços. O ambiente conta também com um histórico de apps baixados e uma lista de sugestões baseadas nesse histórico de navegação pelo ambiente.
<br>
<br>




= XML=
= XML=
<br>
A plataforma Android é uma plataforma de desenvolvimento em software livre para celulares. Ele lhe dá acesso a todos os aspectos do celular em que é executado, de gráficos de baixo nível a hardware como a câmera do telefone. Com tantas possibilidades de uso do Android, talvez você se pergunte porque precisa se preocupar com '''XML'''. Não é que trabalhar com '''XML''' seja tão interessante; o interessante é trabalhar com as coisas que ele possibilita. '''XML''' é usado normalmente como formato de dados na Internet. Se quiser acessar dados na Internet, é bem possível que eles estejam em formato '''XML'''. Se você envia dados a um serviço da Web, talvez você também precise enviar em '''XML'''. Em resumo, se seu aplicativo Android quiser aproveitar a Internet, você provavelmente vai precisar trabalhar com '''XML'''. Felizmente, há várias opções disponíveis para trabalhar com '''XML''' em Android.<br>




= Referências bibliográficas =
= Referências bibliográficas =
https://www.android.com/intl/pt-BR_br/
https://prezi.com/7nylkcz473kt/principais-caracteristicas-do-sistema-android/
http://canaltech.com.br/o-que-e/software/o-que-e-api/
https://www.ibm.com/developerworks/br/opensource/library/x-android/
<br>
<br>

Edição das 21h48min de 13 de junho de 2016

Esta pesquisa deve fornecer um conteúdo atualizado sobre o tema acima. Não esqueça de incluir as  
referëncias (fontes) no último item, reforçando que não deve ser um Copy/Paste e sim uma síntese 
das pesquisas que fizer.


Conceito de Developer

Um developer no sentido de programação é, na tradução literal, um desenvolvedor de determinado sistema, linguagem ou código. Um developer tem como função gerenciar e criar todo o projeto ao qual ele é responsável. Normalmente esse desenvolvedor é especialista em determinada linguagem ou determinado tipo de sistema.


Android

O Android é um SO (Sistema Operacional) com funcionalidades voltadas para os dispositivos mobile. Atualmente se encontra entre os Sistemas operacionais mais utilizados em todo mundo, concorrendo com sistemas de grandes desenvolvedoras como a Microsoft (Windows Phone) e a Apple (IOS). Entre suas principais características se encontram:

-Handset Layouts -Conectividade -Mensagens -Browser -Suporte Java -Suporte Media -Suporte de Hardware -Market -Mensagens suporta tal como os outros dispositivos, SMS e MMS. -Browser o browser do Android é baseado num sistema open source Webkit.  -Market é uma loja de aplicações que podem ser descarregadas directamente para o dispositivo e instaladas, sem ser preciso a utilização de um computador. Existem aplicações pagas, mas também gratuitas, maioritariamente.  -Handset Layouts: esta plataforma adapta-se “ao grande”, VGA, bibliotecas de gráficos 2D e 3D, e layouts de smartphones tradicionais. -Conectividade o Android suporta tecnologias Bluetooth, GSM/EDGE, IDEN, CDMA, etc.. -Suporte Java as aplicações desta plataforma são feitos em Java. -Suporte Media

o Android suporta MPEG-4, MP3, MIDI, WAV, JPG, PNG, etc..


API

API (Application Programming Interface), são ferramentas utilizadas para estabelecer a comunicação entre diferentes softwares afim de que outros programas possam obter informações remotamente de um outro sistema. APIs são muito utilizados em redes sociais como Facebook, Twitter, etc, para que os visitantes de determinado site possam ter um link direto para a página do mesmo nessas redes sociais, facilitando assim o compartilhamento de informações e promoções do especificado site.


Requisitos de um App

Versão do Android

Hoje o Google está desenvolvendo a 20ª edição de sua API para Android, ainda é beta, para a próxima versão do Android 5.0, e ao meu ver esta tem com o principal foco os novos recursos de wearable (Tecnologia para Vestir) tanto é que é a primeira API dividida em duas partes: 20W e 20L, mas tudo isso ainda é apenas algo beta!

Quando se desenvolve aplicativos para Android, é necessário especificar o nível de compatibilidade, que hoje são 19 versões de API disponível, portanto criar aplicativos compatível com com as 19 versões é bem mais difícil pois há muita coisa que foi descontinuada entre as versões, e muito mais ainda novos recursos que surgiram, e para ajudar existem bibliotecas auxiliares de compatibilidade, mas que complicam também o desenvolvimento.

Na pratica desenvolver a partir da versão JELLY_BEAN (4.1) é mais fácil pois trata-se dos dispositivos Androids mais modernos e atuais lançados a partir de junho/2012, portanto qualquer projeto quanto mais específico for mais simples é de fazer.

Tamanho de tela

Outra variável muito importante é o tamanho da tela, pois a mesma versão de android pode rodar em um tablet, ou celular de tela grande ou pequeno, e ainda há o Google TV, ChromeCast, e ChromeBook, que também são outros tipos de dispositivos compatível, e nem sempre a proporção de tela é 4:3 ou 16:9, e o DPI muda muito.

Também durante a execução de um aplicativo, com a opção de rotacionar tela automaticamente, basta mudar a posição do aplicativo que tudo já muda, e criar layouts compatível com as duas formas de tela também não é fácil, por outro lado posição fixas de tela pode inviabilizar ou limitar o uso.

Em Tablets cabe muito mais informação em tela, mas em dispositivos menores não adianta só reduzir, se não nada ficará legível seja por causa do DPI, ou porque fica impossível de enxergar, ou fica difícil de tocar no item correto.

Um tela com 300 DPI significa 300 pixel a cada polegada, ou seja: (1/300)*25,4 milímetros = 0,0846 milímetros, isso é menor que a decima parte de 1 milímetro, não da quase par enxergar!

Há celulares com telas de 5” que tem a mesma resolução Full HD de TVs de 42”, ou seja, 1080 pixel de altura (varredura vertical), que fazendo as contastrigonometricamente em uma tela de de 5” com proporção de 16:9 temos

co=9, ca=16, tg=co/ca, tg=9/16=0,5625 arctang(0,5625) => a=0,5123 radianos portanto 5”*sen(a)=2,45” matemágica! use a calculadora virtual!

Ou o aplicativo Android Super Screen Specs Checker disponível no Google Play

Mas para simplificar o Google fez algo interessante, criou uma unidade de medidas especial chamada de “DP”, use a calculadora de conversão  para entender melhor o funcionamento, e também padronizou tamanhos de tela de acordo com a densidade: small, normal, large, xlarge

Método de Entrada

Em geral, o mais simples e comum é aplicativo touch simples, com único toque. Mas para andoroid possível ter multi-toque, usando vários dedos em tela, ou usar caneta de precisa, teclado virtual ou físico, mouse… Cada tipo de possível suporte de interface tem suas particularidades

Interconectividade

O Básico hoje em dia é o acesso a internet para se conectar a banco de dados, webservices, consumir serviços em json, mas cada tipo de conexão tem seus protocolos e formatos próprios e necessitam de um bom conhecimento de rede.

Mas o aplicativo Android nunca pode fazer chamadas a internet pelo programa principal (MainThread), tem que sempre fazer de forma assíncrona, criando uma tarefa secundaria que irá executar em background, e ai começa a complicar, pois nada mais é síncrono, sequencial, e é necessário orquestrar várias tarefas, renderizar a tela, tudo de forma que uma tarefa não trave a outra, mas saiba esperar a outra acabar, sem contar os eventos do sistema operacional, além os outros aplicativos rodando em paralelo, e tudo sempre respeitando o ciclo de vida das Activity (Cada tela é chamada de uma Atividade) que pode parar, ou continuar a qualquer momento.

Há ainda outas forma de se conectar como o Bluetooth, USB, Serial, NFC, e cada um tem suas características únicas

Recursos de Hardware

Usar os sensores de posição, acelerômetro, Magnético, GPS, Temperatura, umidade no Ar, Barômetro, e por ai vai… de acordo com o modelo tem muita coisa que pode se usada.

Ler a câmera, trabalhar com vídeo, interagir com o hardware sempre requer muita experiência para não travar tudo pois são ações bem pesadas.

Emitir um sinal usando o infravermelho, sintonizar uma radio, ou sinal de TV analógica ou digital, em fim cada coisa tem suas várias particularidades.

Persistência a Dados

Há várias formas e persistir(gravar) e ler dados no Android, a mais simples são os arquivos XML de preferencias de controle interno do Android, tem o acesso a arquivos no dispositivo (FileSystem), e também o sqLite, que é um versão reduzida do MySQL.

Cada forma requer todo um conhecimento as classes de acesso específicas.



Como funciona o Google Play?

A loja virtual de aplicativos Android conhecida como Google Play funciona de modo semelhante a outras lojas do mesmo seguimento porem de empresas diferentes. O usuário se cadastra com um e mail criado pelo provedor da Google (gmail), e a partir daí todas os aplicativos da Google Play estão liberados para serem baixados pelo usuário. Dentro do ambiente virtual o método de compra e de obtenção dos apps é simples e rápido, tendo diversas categorias para pesquisa e apps desde gratuitos até os pagos, com bastante variedade de preços. O ambiente conta também com um histórico de apps baixados e uma lista de sugestões baseadas nesse histórico de navegação pelo ambiente.



XML

A plataforma Android é uma plataforma de desenvolvimento em software livre para celulares. Ele lhe dá acesso a todos os aspectos do celular em que é executado, de gráficos de baixo nível a hardware como a câmera do telefone. Com tantas possibilidades de uso do Android, talvez você se pergunte porque precisa se preocupar com XML. Não é que trabalhar com XML seja tão interessante; o interessante é trabalhar com as coisas que ele possibilita. XML é usado normalmente como formato de dados na Internet. Se quiser acessar dados na Internet, é bem possível que eles estejam em formato XML. Se você envia dados a um serviço da Web, talvez você também precise enviar em XML. Em resumo, se seu aplicativo Android quiser aproveitar a Internet, você provavelmente vai precisar trabalhar com XML. Felizmente, há várias opções disponíveis para trabalhar com XML em Android.


Referências bibliográficas

https://www.android.com/intl/pt-BR_br/

https://prezi.com/7nylkcz473kt/principais-caracteristicas-do-sistema-android/

http://canaltech.com.br/o-que-e/software/o-que-e-api/

https://www.ibm.com/developerworks/br/opensource/library/x-android/