Olá, estudante! Tudo bem?
Vamos explorar o sistema operacional mais popular para dispositivos móveis: o Android. Desenvolvido pela Google, o Android é uma plataforma aberta que oferece uma ampla gama de possibilidades para desenvolvedores. Entender como ele funciona, incluindo as respectivas características e ferramentas, é essencial para criar aplicativos que atendam às necessidades do mercado e proporcionem uma boa experiência ao usuário.
Portanto, o objetivo desta lição é compreender a estrutura do Android, o que abrange o modelo de desenvolvimento, as ferramentas necessárias para criar aplicativos e as vantagens de trabalhar com um sistema operacional de código aberto. Ao final desta lição, você estará apto(a) a compreender o funcionamento do Android, identificar as principais características e utilizar as ferramentas básicas para iniciar o desenvolvimento de aplicativos nativos para essa plataforma.
Espero que esteja animado(a) para se aprofundar nesse assunto!
Suponha que você foi contratado(a) por uma startup para criar um aplicativo que ajude pequenos comerciantes a gerenciar os próprios negócios, oferecendo funcionalidades, como controle de estoque, emissão de relatórios de vendas e comunicação com fornecedores. A maioria dos clientes dessa startup utiliza dispositivos Android, especialmente modelos intermediários e básicos, devido ao custo mais acessível desses aparelhos.
Agora, pare um momento para refletir: como você garantiria que o seu aplicativo funcionasse bem nesses dispositivos com recursos limitados, como memória RAM reduzida, capacidade de armazenamento pequena e aceleração menos potente? Além disso, muitos comerciantes podem não ter atualizado os próprios dispositivos para versões mais recentes do Android, devido a limitações de hardware ou falta de suporte dos fabricantes.
Essa situação exige que você entenda a fundo como o Android gerencia os recursos do dispositivo e saiba quais ferramentas utilizar para criar um aplicativo eficiente e que ofereça uma boa experiência para os usuários, independentemente das limitações dos dispositivos. Por isso, não fique preocupado(a) se, neste momento, você ainda não sabe como solucionar esse problema! Aprenderemos isso nesta lição!
Vamos entender como o Android se aplica na prática com um exemplo? Imagine que a empresa fictícia FastApp, que desenvolve aplicativos para controle de estoques e vendas, decidiu criar uma solução exclusiva para pequenos lojistas. Optou-se por utilizar o Android como sistema operacional devido à ampla adoção e flexibilidade.
Ao iniciar o desenvolvimento, a equipe identificou que os lojistas utilizavam dispositivos com diferentes versões do Android, alguns mais antigos, como o Android 8 (Oreo), e outros mais recentes, como o Android 12. Isso gerou um desafio: como garantir que o aplicativo funcionasse bem em dispositivos com capacidades e sistemas operacionais tão distintos?
Para resolver o problema, a equipe aplicou um design responsivo para adaptar a interface a diferentes telas, utilizou a biblioteca AndroidX para garantir compatibilidade com versões antigas do sistema e otimizou o uso de memória RAM, assegurando eficiência mesmo em dispositivos menos potentes.
Após essas implementações, o aplicativo foi bem recebido pelos lojistas, oferecendo uma solução acessível e eficiente. A partir desse exemplo, podemos entender como as características do Android são essenciais para criar soluções adaptáveis e de sucesso no mercado.
Vamos aprender esse assunto?
Certamente você já ouviu alguém falar sobre o Android. No entanto, você sabe exatamente o que ele é? O Android é um sistema operacional de código aberto baseado no núcleo do Linux, projetado para dispositivos móveis, como smartphones, tablets, relógios inteligentes, TVs e até mesmo automóveis. O sistema operacional foi desenvolvido pela empresa Android Inc., a qual foi adquirida pela Google em 2005. Em 2007, foi formada a Open Handset Alliance para desenvolver, manter e aprimorar o Android, trazendo inovação para a tecnologia móvel, melhorando a experiência do usuário e reduzindo os custos (Deitel; Deitel; Deitel, 2015).
Lançado oficialmente em 2008, o Android rapidamente se tornou o sistema operacional líder no mercado global, sendo adotado por uma ampla gama de fabricantes, como Samsung, Xiaomi, Motorola e muitas outras. De acordo com Paul Deitel, Harvey Deitel e Abbey Deitel (2015), o Android oferece um ambiente completo para o desenvolvimento de aplicativos, permitindo que desenvolvedores criem soluções inovadoras e altamente funcionais. O sistema suporta uma ampla diversidade de hardware, desde dispositivos básicos com recursos limitados até modelos avançados com alto desempenho. A flexibilidade é garantida por uma vasta biblioteca de APIs que facilitam a criação de aplicativos que utilizam recursos, como GPS, câmeras, sensores e conectividade.
Um aspecto interessante do Android é que ele é projetado como uma plataforma modular e expansível, o que permite personalizações tanto para fabricantes de dispositivos quanto para desenvolvedores. O código aberto proporciona a liberdade de modificar o sistema e adaptá-lo às necessidades específicas, criando versões personalizadas do Android, assim como acontece em dispositivos da Samsung (One UI) ou Xiaomi (MIUI).
Além disso, o sistema é conhecido pelo próprio modelo de atualização contínua, com lançamentos regulares que trazem novas funcionalidades, melhorias de desempenho e correções de segurança. As versões históricas, tais como Oreo, Pie e, mais recentemente, Android 12 e 13, refletem um compromisso constante com a evolução tecnológica e a experiência do usuário.
Sendo assim, de maneira geral, o Android é mais do que um simples sistema operacional; ele é um ecossistema completo que conecta desenvolvedores, fabricantes e usuários, oferecendo uma plataforma robusta e versátil para inovações tecnológicas.
O Android é um sistema operacional versátil e amplamente adotado no mundo todo. Ele é conhecido pela flexibilidade e capacidade de atender às necessidades de diferentes dispositivos e usuários. As características-chave o tornam uma escolha ideal tanto para fabricantes quanto para desenvolvedores, proporcionando uma plataforma robusta, acessível e em constante evolução. A seguir, são destacadas as principais características que definem o Android:
Código aberto: o Android é baseado no kernel do Linux e possui código-fonte aberto, permitindo que fabricantes e desenvolvedores personalizem o sistema.
Compatibilidade com multidispositivos: pode ser encontrado em smartphones, tablets, TVs, carros e até dispositivos vestíveis, como relógios inteligentes.
Ampla adoção: por ser utilizado por várias marcas, como Samsung, Motorola e Xiaomi, o Android domina o mercado de dispositivos móveis.
Atualizações contínuas: recebe atualizações regulares, adicionando novas funcionalidades e melhorias de segurança.
O Android é projetado com uma arquitetura organizada em camadas, garantindo que cada componente do sistema tenha responsabilidades bem definidas e trabalhe em conjunto de forma eficiente. Essa estrutura modular facilita o desenvolvimento, a manutenção e a escalabilidade, permitindo que você, futuro(a) Técnico em Desenvolvimento de Sistemas, crie aplicativos otimizados enquanto o sistema gerencia a comunicação entre a interface do usuário, as bibliotecas e o hardware do dispositivo. A seguir, são exploradas as principais camadas que compõem o Android:
Aplicativos: interface visível ao usuário, como aplicativo de mensagens, câmera e configurações.
Framework de aplicação: disponibiliza APIs que os desenvolvedores utilizam para criar aplicativos.
Bibliotecas e Android Runtime: fornecem bibliotecas nativas e o ambiente de execução para os aplicativos.
Kernel do Linux: base do sistema operacional, responsável pela interação com o hardware.
O desenvolvimento de aplicativos Android é suportado por um ecossistema robusto de ferramentas que facilitam desde a criação e edição de código até o teste e depuração de aplicações. Essas ferramentas foram projetadas para oferecer um ambiente eficiente e integrado, permitindo que você trabalhe com agilidade e precisão em projetos de diferentes níveis de complexidade. A seguir, são destacadas as principais ferramentas utilizadas no desenvolvimento Android:
Android Studio: IDE oficial recomendada pela Google para o desenvolvimento de aplicativos Android. Oferece recursos, como editor de código, simuladores e ferramentas de depuração. É baseado no IntelliJ IDEA (Deitel; Deitel; Deitel, 2015).
SDK (Software Development Kit): inclui ferramentas essenciais para criar, testar e compilar aplicativos Android.
Emuladores: permitem testar aplicativos em dispositivos virtuais com diferentes configurações de hardware e versões do Android. Contudo, é utilizado muito poder de processamento e pode ser lento, particularmente em jogos que têm muitas peças móveis (Deitel; Deitel; Deitel, 2015).
O desenvolvimento de aplicativos Android pode ser feito em diferentes linguagens, como Java e Kotlin. Cada uma dessas linguagens apresenta características específicas, oferecendo vantagens específicas, dependendo das necessidades do projeto e das especificações do desenvolvedor. A seguir, vamos entender um pouco as diferenças existentes entre elas:
É uma linguagem tradicional e amplamente utilizada para o desenvolvimento Android. Reconhecida pela robustez e maturidade, oferece uma vasta biblioteca de recursos e uma comunidade extensa, o que facilita o aprendizado e a resolução de problemas. Muitos aplicativos Android foram construídos com Java, o que faz dela uma escolha confiável para quem deseja estabilidade e compatibilidade com uma ampla gama de dispositivos. A sintaxe dela pode ser mais detalhada e extensa em comparação com outras linguagens, o que pode aumentar o tempo de desenvolvimento em alguns casos.
É uma linguagem mais moderna, declarada como oficial para o desenvolvimento Android pela Google em 2017. Projetada para ser mais concisa e produtiva que o Java, ela reduz significativamente o número de linhas de código necessárias para executar a mesma funcionalidade. Essa linguagem também é conhecida pelas funcionalidades avançadas, como segurança contra null pointer exceptions e suporte à programação funcional, o que torna o código mais seguro e legível. Além disso, Kotlin é totalmente interoperável com Java, permitindo que os desenvolvedores combinem ambas as linguagens no mesmo projeto e migrem gradualmente do Java para o Kotlin, se desejarem.
De maneira geral, ambas as linguagens têm suporte completo no Android Studio, a IDE oficial para desenvolvimento Android, e são amplamente utilizadas na indústria, garantindo flexibilidade e longevidade para os aplicativos criados. A escolha entre Java e Kotlin depende das preferências do desenvolvedor, das necessidades do projeto e do nível de experiência com cada linguagem.
O desenvolvimento para Android oferece inúmeras oportunidades, mas também traz desafios específicos devido à diversidade do ecossistema. Por ser amplamente adotado em dispositivos de diferentes marcas, modelos e capacidades, é necessário lidar com questões, como fragmentação e gerenciamento de recursos, ao mesmo tempo em que são aproveitadas vantagens, como uma base de usuários global e um ecossistema flexível e colaborativo. A seguir, são explorados os principais desafios e vantagens dessa plataforma:
Nesta lição, exploramos as principais características do sistema operacional Android, incluindo as respectivas estrutura e ferramentas que tornam possível o desenvolvimento de aplicativos. Entender as vantagens e os desafios do Android é essencial para se tornar um(a) desenvolvedor(a) preparado(a) para atender às demandas do mercado.
Agora que você conhece o básico do Android, está mais próximo(a) de começar a criar aplicativos nativos e explorar o potencial dessa plataforma incrível!
Como vimos, compreender a estrutura do Android, o que abrange o devido modelo de desenvolvimento e as ferramentas associadas, é fundamental para você, enquanto futuro(a) Técnico(a) em Desenvolvimento de Sistemas, pois essas competências permitem a criação de aplicativos robustos e funcionais, atendendo às demandas do mercado. Esse domínio é essencial para atuar com eficiência em projetos que exigem inovação, acessibilidade e alta compatibilidade com diferentes dispositivos e usuários.
Agora chegou a sua vez! O desafio é que você crie um aplicativo simples no Android Studio que demonstra a estrutura básica de um sistema operacional Android exibindo as principais camadas: interface do usuário (UI), comunicação com o framework e interação com a camada de hardware. Você criará um aplicativo que mostre informações sobre o dispositivo Android, como a versão do sistema operacional e o modelo do dispositivo.
Para iniciar essa prática, siga os passos a seguir:
Tenha uma máquina com o Android Studio instalado (esse processo você já conhece da primeira parte da disciplina).
Crie um projeto chamado InfoDispositivoApp e escolha o template “Empty Views Activity”. Em seguida, clique em “Next”.
Escolha a linguagem Kotlin.
Clique em “Finish” (Concluir) para criar o projeto.
Passo a passo:
No painel “Project”, abra a pasta res/layout e clique em activity_main.xml.
Substitua o código no editor XML para criar uma interface simples que exibirá informações do dispositivo conforme Figura 2:
3. Abra o arquivo MainActivity.kt na pasta java/<seu-pacote>/MainActivity.kt. Atualize o código para adicionar a funcionalidade de exibir informações do sistema operacional e dispositivo conforme a Figura 3:
4. Conecte um dispositivo fixo ou configure um emulador no Android Studio.
5. Clique no botão “Run” (Executar) no Android Studio.
6. Quando o aplicativo abrir, clique no botão “Mostrar Informações”.
7. As informações sobre o modelo do dispositivo, fabricante, versão do Android e nível da API serão exibidas na tela.
Explicação do código
Build.MODEL e Build.MANUFACTURER: extraem informações do hardware, mostrando como o Android interage com a camada do dispositivo.
Build.VERSION.RELEASE e Build.VERSION.SDK_INT: representam a camada do framework, retornando informações sobre o sistema operacional e o nível de API.
MainActivity: a Activity é o ponto de entrada principal do aplicativo, representando a camada de interface do usuário (UI).
Esse aplicativo simples mostra como as camadas do Android trabalham juntas para oferecer funcionalidade e acesso às informações do sistema. Ao cumprir esse desafio, você entenderá melhor a estrutura do sistema operacional Android e saberá utilizá-la para criar aplicativos dinâmicos e informativos. Agora, compartilhe com os seus colegas e professores e proponha novas interações entre as camadas de Interface do Usuário e o Android.
Bom trabalho!
DEITEL, P.; DEITEL, H.; DEITEL, A. Android: como programar. 2. ed. Porto Alegre: Bookman, 2015.