Exercício Introdução a Programação Android
Por: ronanldb • 4/9/2017 • Trabalho acadêmico • 4.821 Palavras (20 Páginas) • 951 Visualizações
Exercício Android
Exercício 1: Explique com suas palavras os motivos para a ascensão dos dispositivos móveis no nosso cotidiano.
Os dispositivos móveis têm se tornado muito populares atualmente pelas vantagens que oferecem aos usuários. O celular, por exemplo, foi criado inicialmente para que as pessoas não precisassem ficar presas ao telefone com fio ou dentro da área de alcance dos modelos sem fio para fazer ligações. A partir daí, novas funções foram adicionadas a eles: SMS, câmera, agenda, calendário, alarme, etc., resumindo vários equipamentos em apenas um e permitindo que os celulares substituíssem várias tarefas manuais. Nesse momento, a popularização dos dispositivos móveis começou. Atualmente, muitos outros dispositivos móveis existem (como tablets, kindles, smartphones) e contribuem para essa ascensão. E cada vez mais, os usuários utilizam tais equipamentos para realizar transações bancárias, para entretenimento, para controle (de rotinas, dietas, medicação, exercícios), para comunicação rápida, para trabalhar, entre outras coisas e isso contribui muito para propagar o uso desses produtos.
Exercício 2: Sabemos que as novas tecnologias mobile transformaram a visão de projetos, soluções em sistemas e TI. Explique essa afirmativa.
Com o aumento no uso de equipamentos móveis, as empresas perceberam a necessidade de se adequar, passando a considerar mobilidade e autonomia em seus projetos, ao invés de pensar apenas no usuário sentado em frente a um PC. Isso levou a muitas mudanças nas soluções tecnológicas propostas por empresas do ramo de TI, um exemplo é o desenvolvimento do internet banking, ou a adaptação de redes sociais ao ambiente mobile, uma vez que a maioria dos usuários acessa a internet pelo smartphone e que se pode usar um dispositivo móvel em praticamente qualquer lugar, o que não é possível com um PC ou notebook.
Exercício 3: Explique com suas palavras os principais desafios encontrados em soluções de projetos mobile. Como os desafios de desenvolvimento podem ser solucionados?
Um grande desafio é entender bem o objetivo do sistema, sem ter as funções bem definidas não se sabe para onde ir com o desenvolvimento e o resultado final pode ser bem diferente do esperado. Outro problema enfrentado é a falta de tempo e a desorganização, gastar muito tempo ou mão de obra em apenas uma parte do aplicativo pode causar o não cumprimento de prazos ou alguns objetivos podem são ser alcançados completamente. A complexidade também pode atrapalhar o processo, já que é necessário gastar mais tempo trabalhando e testando cada parte do sistema para ter certeza que atende ao que foi pedido. Além disso, podem acontecer muitas mudanças nos objetivos do sistema, durante o desenvolvimento, atrapalhando planos já traçados.
Para evitar esses problemas é preciso contar com profissionais capacitados, manter boa comunicação com o cliente e organizar o tempo e distribuir funções de maneira eficaz, para que o desenvolvimento aconteça corretamente e o resultado final seja bem aceito.
Exercício 4: Um dos conceitos adotados para o desenvolvimento de aplicações mobile é o paradigma de orientação a objetos. Explique com suas palavras a adoção deste paradigma no desenvolvimento para dispositivos móveis. Quais as vantagens e desvantagens desse paradigma para essa plataforma?
A maioria dos dispositivos móveis utilizam linguagens de programação orientadas a objeto, Java/C++ no Android, Objective-C no iOS e etc. A dinâmica oferecida por esse paradigma é o que atrai os desenvolvedores mobile, já que a programação orientada a objeto é mais abstrata e consegue imitar muito o que encontramos no mundo real. As principais vantagens de usar esse paradigma são: a possibilidade de reuso de código, criação de projetos mais organizados e de fácil manutenção e a modularização dos sistemas, facilitando os testes e a adição de novas funções. Já as desvantagens são: dificuldade no aprendizado para iniciantes, necessário mais esforço e tempo para programar, uso maior de memória e por ser um paradigma abstrato, precisa ser bem documentado para que todos entendam o conceito do projeto, tomando mais tempo.
Exercício 5: Explique com suas palavras as vantagens e desvantagens de se desenvolver na plataforma Android.
O Android tem se tornado muito popular, está presente na maioria dos smartphones e em outros dispositivos que vêm aos poucos conquistando espaço (como o Android Tv ou o Android Wear), isso faz com que o mercado de desenvolvimento de aplicativos para essa plataforma seja muito amplo e cria muitas oportunidades para empresas e desenvolvedores individuais. Outra vantagem é a rentabilidade, os usuários estão cada vez mais gastando com tecnologia e isso inclui os aplicativos. A facilidade de publicação e atualização de apps também deve ser citada, já que a Google Play Store cobra um valor único de US$25, publica o app em poucas horas e permite que atualizações rápidas sejam feitas. Porém, toda essa facilidade também trás desvantagens, por exemplo, aplicativos publicados na AppStore (iOS) são verificados de maneira mais eficaz do que os publicados na Play Store, e essa verificação mais fraca permite a entrada de softwares prejudiciais ao usuário, além disso, existem tantos aplicativos para Android, que é difícil para um desenvolvedor iniciante conseguir visibilidade dentro da loja.
Exercício 6: Explique com suas palavras a arquitetura da plataforma Android. Dê exemplo de recursos presentes nesta arquitetura.
- A plataforma Android trabalha com o sistema de camadas e é baseado em Linux. As camadas serão descritas “de cima para baixo”, ou seja, da parte que se conecta com o usuário até a camada mais interna da arquitetura.
- A primeira camada é a de aplicativos, nela se encontram os apps nativos do Android, aqueles que têm funções básicas como configurações do sistema, calendário, navegador, alarme e etc. A maioria deles pode ser utilizada também pelos programadores, por exemplo: se um aplicativo precisa enviar um SMS, essa função não precisa ser desenvolvida, basta chamar o app nativo com esse propósito.
- Na segunda camada se encontram as APIs programadas em Java, onde se encontram recursos necessários para a criação de aplicativos, como: o sistema de views (fornece botões, listas, caixas de texto, etc.), o gerenciador de recursos (layouts padrão, gráficos), o gerenciador de notificação (permite a exibição de alertas na barra de status), o gerenciador de atividades (controla o ciclo de vida de app) e os content providers (permitem o compartilhar informações e acessar dados de outros aplicativos, como os contatos, por exemplo).
...