Etiqueta: visualeditor
 
(19 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 1:
Esta pesquisa deve fornecer um conteúdo atualizado sobre o tema acima. Não esqueça de incluir as 
= O que é? =
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.
<br>
<br>


= Conceito de Developer =
O Android é uma plataforma que fornece uma estrutura de aplicativo avançada permitindo a criação de aplicativos e jogos para dispositivos móveis em um ambiente de linguagem Java.
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>
<br>


Então o Android Developer é aquela pessoa responsável pelo desenvolvimento de arquivos e aplicações para tal plataforma, usando a linguagem JAVA, pois o Android é feito nessa, e alguns usam a Android NDK para poderem também programar em C++ nativamente.


= Android =
= Funcionamento =
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:
<br>


-Handset Layouts
Os aplicativos do Android são programados em linguagem de programação Java. As ferramentas do Android SDK compilam o código — em conjunto com todos os arquivos de dados e recursos gera-se um pacote Android, que é um arquivo de sufixo .apk. Os arquivos de APK contêm todo o conteúdo de um aplicativo do Android e são os arquivos que os dispositivos desenvolvidos para Android usam para instalar o aplicativo.
-Conectividade
<br>
-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>
Além disso o Android tem um sistema de gerenciamento de banco de dados nativo, SQLite.
<br>


O sistema operacional Android é dividido 4 em camadas:
* Camada de Aplicações (todos os aplicativos);
* Camada de Bibliotecas (bibliotecas C/C++, de multimídia, de visualização 2D e 3D, funções de acesso ao SGBD SQLite, etc);
* Camada de Runtime (instanciamento da máquina virtual Dalvik, toda aplicação que roda instancia uma);
* Camada de Kernel Linux (o núcleo do SO Android é descendente do kernel 2.6 do Linux)


= API =
= SDKs para desenvolvimento =
'''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>
<br>
Basicamente usa-se a SDK do Android, existem diferentes formas:
<br>


*Android Studio (IDE oficial do Android)
<br>


= Requisitos de um App =
*SDK Tools
<br>


== Versão do Android ==
*Android Development Kit (SDK) para Windows, Mac OS X ou Linux
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!
<br>


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.
*Android SDK Eclipse
<br>


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.
*Android SDK Manager
<br>


== Tamanho de tela ==
*Android SDK Ubuntu
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.
<br>


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.
*Android NDK


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.
= Algumas APIs =
<br>


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!
*Análise: Google Analytics
<br>


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
*Login no Google: Google Sign-In
<br>


co=9, ca=16, tg=co/ca, tg=9/16=0,5625
*Mapas: Maps Android API
arctang(0,5625) => a=0,5123 radianos
<br>
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
*Anúncios de instalação de aplicativos: AdWords
<br>


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
*Convites para o aplicativo: Firebase Invites
<br>


== Método de Entrada ==
*Android Pay
Em geral, o mais simples e comum é aplicativo touch simples, com único toque.
<br>
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 ==
= Referências =
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.
<br>
 
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.


[https://developer.android.com/index.html]
<br>
[https://developer.android.com/guide/index.html?hl=pt-br]
<br>
[https://developers.google.com/android/]
<br>
[https://developers.google.com/]
<br>
[https://developer.android.com/guide/components/fundamentals.html?hl=pt-br]
<br>
[https://br.udacity.com/course/android-developer-nanodegree--nd801/]
<br>
<br>
 
[https://medium.com/android-dev-br]
 
= 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>
 
[http://othonbatista.com/arquivos/android/apostila-android.pdf]
 
= 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.<br>
 
 
= 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>
[https://developers.google.com/android/]

Edição atual tal como às 18h18min de 6 de junho de 2017

O que é?


O Android é uma plataforma que fornece uma estrutura de aplicativo avançada permitindo a criação de aplicativos e jogos para dispositivos móveis em um ambiente de linguagem Java.

Então o Android Developer é aquela pessoa responsável pelo desenvolvimento de arquivos e aplicações para tal plataforma, usando a linguagem JAVA, pois o Android é feito nessa, e alguns usam a Android NDK para poderem também programar em C++ nativamente.

Funcionamento


Os aplicativos do Android são programados em linguagem de programação Java. As ferramentas do Android SDK compilam o código — em conjunto com todos os arquivos de dados e recursos gera-se um pacote Android, que é um arquivo de sufixo .apk. Os arquivos de APK contêm todo o conteúdo de um aplicativo do Android e são os arquivos que os dispositivos desenvolvidos para Android usam para instalar o aplicativo.

Além disso o Android tem um sistema de gerenciamento de banco de dados nativo, SQLite.

O sistema operacional Android é dividido 4 em camadas:

  • Camada de Aplicações (todos os aplicativos);
  • Camada de Bibliotecas (bibliotecas C/C++, de multimídia, de visualização 2D e 3D, funções de acesso ao SGBD SQLite, etc);
  • Camada de Runtime (instanciamento da máquina virtual Dalvik, toda aplicação que roda instancia uma);
  • Camada de Kernel Linux (o núcleo do SO Android é descendente do kernel 2.6 do Linux)

SDKs para desenvolvimento


Basicamente usa-se a SDK do Android, existem diferentes formas:

  • Android Studio (IDE oficial do Android)


  • SDK Tools


  • Android Development Kit (SDK) para Windows, Mac OS X ou Linux


  • Android SDK Eclipse


  • Android SDK Manager


  • Android SDK Ubuntu


  • Android NDK

Algumas APIs


  • Análise: Google Analytics


  • Login no Google: Google Sign-In


  • Mapas: Maps Android API


  • Anúncios de instalação de aplicativos: AdWords


  • Convites para o aplicativo: Firebase Invites


  • Android Pay


Referências


[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]