Resumo do Sistema Android
Por: Vander Roberto • 8/3/2020 • Trabalho acadêmico • 2.147 Palavras (9 Páginas) • 254 Visualizações
Resumo Android
- Android é um sistema operacional (SO) aberto criado pelo Google.
- Android roda sobre o Linux e utiliza como linguagem de programação o Java.
- O Android é utilizado em celulares e tablets.
- Android é um SO "leve" e com muitos recursos devido a sua rica biblioteca de classes.
- Assim como o Windows nos microcomputadores, o Android é o responsável por gerenciar todas as tarefas e recursos de um Smartphone ou Tablet.
- O Android é baseado em um framework contendo mais de 3.000 classes contendo métodos para as mais variadas tarefas, desde leitura de arquivos até recursos de GPS, mapas, áudio e vídeo.
Principais Funcionalidades
Além do framework, que facilita o desenvolvimento o Android tem as seguintes Funcionalidades:
- Máquina virtual Dalvik que é otimizada para dispositivos móveis;
- Browser integrado;
- Gráficos 2D e 3D otimizados;
- SQLite para armazenamento de dados;
- Suporte para áudio, vídeo e vários formatos de imagem (MPEG4, H.264, MP3, AAC, AMR,JPG, PNG, GIF);
- GSM, Bluetooth, EDGE, 3G, e WiFi;
- Câmera, GPS, compasso, e acelerômetro;
- Rico ambiente de desenvolvimento, incluindo emulador, ferramentas para debug performance além do plugin para o Eclipse.
Open Handset Alliance
- É formada por um grupo de aproximadamente 80 empresas ligadas a área de tecnologia para acelerar o desenvolvimento na área de dispositivos móveis.
- Atualmente esta aliança é a responsável pelo desenvolvimento do Android.
Google Play /Android Market
- O site Android Market foi criado para facilitar a distribuição de aplicativos Android.
- Neste site você pode obter mais de 30.000 aplicativos para o seu dispositivo Android (gratuitos e pagos).
Google Play
- Neste site você pode se registrar e publicar os seus aplicativos os quais estarão disponíveis para mais de 10 milhões de usuários Android e este número tende a crescer muito nos próximos anos criando uma excelente oportunidade de negócios para o desenvolvedor Android.
Android Developers
- O site Android Developers foi criado para facilitar a distribuição plataformas, recursos e tutoriais voltados para o desenvolvedor.
- Neste site você pode obter informações sobre as últimas novidades para o desenvolvimento nesta plataforma.
Arquitetura
- A arquitetura da plataforma é bem complexa se levar em conta que é voltada para dispositivos móveis.
- Entretanto é simples de utilizar criando aplicações leves e com muitos recursos.
- Camada Applications
Nesta camada encontram-se algumas aplicações fundamentais como, por exemplo, email, SMS, calendário, mapas, browser entre outras.
- Camada Application Framework
Nesta camada encontram-se os principais recursos para facilitar a criação de aplicativos Android (como por exemplo botões e caixas de texto)
- Camada Libraries
O Android tem uma série de bibliotecas, criadas em C/C++ que são utilizadas nos componentes da camada Application Framework.
- Camada Android Runtime
Nesta camada se destaca o ambiente de execução ou virtual machine no caso o Dalvik.
O Dalvik é responsável pela execução das classes em Java da sua aplicação
- Camada Linux Kernel
O Android é baseado no Linux versão 2.6 para a execução dos serviços básicos, como por exemplo, segurança, gerenciamento de memória e de processos.
Esta camada é que faz a "ponte" entre o hardware e as diversas camadas da sua aplicação.
Ambiente de Desenvolvimento
- Para desenvolver aplicações Android utilizamos como linguagem de programação o Java. Em teoria podemos utilizar qualquer editor (até o bloco de notas e compilando na linha de comando do SO), mas utilizaremos o Eclipse (que é a IDE recomendada pelo Google).
- Além dos diversos recursos do Eclipse, temos um plugin específico para o desenvolvimento Android o que aumenta muito a produtividade no desenvolvimento.
Conhecendo os arquivos do nosso Projeto
- Pasta SRC
Nesta pasta ficam contidas as classes em Java. Observe que várias informações contidas na imagem acima foram definidas quando você criou o projeto:
- Application name : P3_1
- Package name: br.com.exercicio.aula3
- Create Activity: Tela1
- Através desta pasta você tem acesso à fonte das classes.
- Observe que é uma classe como qualquer outra do Java estendendo a classe Activity.
- Pasta gen
- Nesta pasta ficam contidas as classes em Java contendo as constantes referentes aos recursos da sua aplicação.
- Esta pasta, também criada pelo template que não deve ser alterada manualmente.
- As alterações são feitas automaticamente pelo plugin do android sempre que você adicionar algum recurso (imagem, por exemplo) ao seu projeto (recurso será abordado mais a frente).
- Por enquanto basta visualizar o conteúdo do arquivo R.java
- Pasta Assets
- Esta pasta pode conter recursos adicionais ao seu projeto, nesta pasta não são gerenciados automaticamente (não é criado uma constante para os mesmos) e você é quem deve fornecer um nome e o caminho de cada recurso.
- Pasta res
- Esta pasta contem os recursos da aplicação para resolução de tela. Por exemplo o icon.png se refere a imagem.
- Observe que há 3 pastas drawable:
- drawable-ldpi
- drawable-mdpi
- drawable-hdpi
Pasta res/layout
- Pasta que contém os arquivos de layout
- Dentro desta pasta “layout” tem o arquivo main.xml, que é criado com esse nome padrão, nesse arquivo é onde é feito o layout do projeto, através de códigos ou gráficos.
- Para abrir de um duplo clique neste arquivo.
- Será aberta uma área preta (que representa a tela do projeto) e a esquerda a paleta com os objetos que podem ser desenhados na tela.
- Esta tela pode ser editada graficamente ou através de códigos no main.xml.
- Na parte inferior que há 2 abas: main.xml e TextView.
Pasta res/values
- Pasta que contém os arquivos de recursos para Strings.
- Dentro desta pasta tem o arquivo strings.xml, que especifica os valores das constantes de textos que serão utilizadas no código.
Arquivo AndroidManifest.xml
- Este arquivo, criado automaticamente define as configurações do projeto.
Arquivo default.properties
- Este arquivo, criado automaticamente define a versão do seu projeto.
Arquivo proguard.cfg
- É criado automaticamente define como será otimizado e obfuscado seu código. O resultado será um arquivo .apk (arquivo de distribuição do seu projeto) menor e bem mais difícil de se aplicar uma engenharia reversa (descompilar e visualizar seus fontes).
- Desta forma seu aplicativo será mais eficiente e o código fonte estará mais protegido.
Obfuscação: criar um arquivo compilado que inviabiliza uma engenharia reversa (normalmente substituindo palavras e ou nome de variáveis dificultando a descompilação do mesmo).
Pastas do projeto
- Abra o Windows Explorer e localize a pasta do seu projeto;c:\curso\br.com.exercicio
- Observe que além das pastas e arquivos apresentados dentro do Package Explorer do Eclipse existem outras pastas.
- Pasta bin ficam as classes compiladas (por default o Eclipse compila as classes sempre que os arquivos são salvos).
- Pasta metadata que é utilizada pelo Eclipse para armazena uma série de informações necessárias para o próprio Eclipse (por exemplo, plugins utilizados).
- Classe Java que estende a classe Activity (uma activity é uma tela, equivale ao frame do swing ou uma janela do Windows ).
- O método onCreate é executado automaticamente assim que esta atividade for carregada para a memória.
- onCreate() É a primeira função a ser executada quando uma Activity é lançada. Geralmente é a responsável por carregar os layouts XML e outras operações de inicialização. É executada somente uma vez durante a “vida útil” da Activity.
- O método setContentView que efetivamente vai criar a apresentação da tela, é o que faz a ligação entre a Activity e a View, que recebe como parâmetro R.layout.main (responsável pelo conteúdo da tela) que nada mais é do que o arquivo main.xml.
- O TextView permite apresentar um texto na tela. A TextView tem a propriedade text esta sendo atribuído o valor de @string/hello
- O valor de @string/hello tambem esta vindo de outro arquivo de recurso, no caso o arquivostrings.xml.
- Vale lembrar que as palavras em português estão sublinhadas, isto ocorre porque o Eclipse tem um corretor ortográfico padrão para o idioma inglês.
Conceitos Fundamentais do Android
- Activity : basicamente uma tela da aplicação. Dentro da Activity estão os vários elementos visuais, como botões, caixas de texto, imagens.
- Toda activity é derivada da classe Activity como, por exemplo, a nossa classe criada:
[pic 1]
Service
- É que uma aplicação que roda em segundo plano, por exemplo, enquanto você navega na Internet pode haver uma música rodando como um serviço em segundo plano.
- Todo service é derivado da classe Service.
Intents
- O Android trata todas as requisições ou solicitações como intents ( intenções ou tarefas que a aplicação deve executar).
- Como exemplo de tarefas podemos citar uma ligação telefônica ou um envio de SMS.
- Podemos dizer que uma intenção é uma descrição abstrata de uma operação a ser executada.
Adicionando Recursos a uma Aplicação
- Recursos são imagens ou textos que podem ser utilizados pela sua aplicação. Como podemos ver, temos o arquivo strings.xml dentro da pasta res/values .
[pic 2]
- Para abrir basta dar um duplo clique neste arquivo.
- O arquivo strings.xml abrirá na forma gráfica conforme a imagem abaixo:
[pic 3]
Basta definir o name e o value de cada recurso conforme a imagem abaixo:
[pic 4]
Cada recurso do tipo String é composto por um par chave/valor onde a chave é o Name e valor é Value.
...