apostila desenvolvimento android básico

Download Apostila Desenvolvimento Android Básico

Post on 03-Nov-2014

117 views

Category:

Technology

40 download

Embed Size (px)

DESCRIPTION

Apostila montada para curso de Desenvolvimento Android Básico em 2012, contendo um breve resumo sobre Java e um apanhado geral dos principais recursos disponíveis pelas bibliotecas Android Google na época, assim como pequenas atividades. Antes de redistribuir ou reutilizar esta apostila, entre em contato solicitando. Se fizer download, compartilhe no Twitter ou Facebook e ajude outros desenvolvedores/estudantes/entusiastas. Obrigado! :-)

TRANSCRIPT

  • 1. Desenvolvimento Android Bsico (por Maurcio Salamon - http://mauriciosalamon.com.br)

2. Android 2 Contedo 1. Introduo plataforma Java ................................................................................................................. 4 1.1. Comandos bsicos........................................................................................................................ 6 1.2. Tipos de dados.............................................................................................................................. 7 1.3. Operadores ................................................................................................................................... 8 1.4. Operadores relacionais ................................................................................................................. 9 1.5. Comentrios ............................................................................................................................... 10 1.6. Pacotes, Classes e Objetos ......................................................................................................... 11 1.7. Modificadores de acesso e encapsulamento............................................................................... 17 1.8. Colees ..................................................................................................................................... 19 1.9. Padro de projeto Observer, Eventos e Listeners....................................................................... 21 1.10. Threads e Excees ................................................................................................................ 25 2. Introduo ao sistema operacional Android......................................................................................... 28 2.1. Desenvolvimento Android ............................................................................................................ 30 2.2. Preparao do Ambiente de Desenvolvimento ............................................................................. 32 2.3. HelloWorld! .................................................................................................................................. 34 2.4. Estrutura de um projeto e XML .................................................................................................... 36 2.5. Compilao, execuo e depurao .............................................................................................. 39 2.6. Empacotamento, publicao e instalao do app.......................................................................... 45 3. Conceitos Bsicos................................................................................................................................. 49 3.1. Activity, Intent e IntentFilter......................................................................................................... 50 3.2. Service........................................................................................................................................... 54 3.3. ContentProvider ............................................................................................................................ 58 3.4. Processo e Thread ......................................................................................................................... 61 3.5. Manifesto....................................................................................................................................... 63 4. Interface Grfica................................................................................................................................... 65 4.1. Layouts.......................................................................................................................................... 67 4.2. Componentes de tela ..................................................................................................................... 74 4.3. Menus............................................................................................................................................ 81 4.4. Janelas de Dilogo......................................................................................................................... 84 4.5. Notificaes................................................................................................................................... 86 4.6. Drag and Drop............................................................................................................................... 91 4.7. Recursos ........................................................................................................................................ 94 5. Conceitos Avanados........................................................................................................................... 96 5.1. Permisses e Segurana ................................................................................................................ 97 5.2. Preferncias de Usurio............................................................................................................... 100 3. Android 3 5.3. Persistncia em Banco de Dados (SQLite) ................................................................................. 102 5.4. Cmera e Arquivos...................................................................................................................... 105 5.5. GPS e Mapas............................................................................................................................... 108 5.6. Bluetooth..................................................................................................................................... 111 5.7. Sensores....................................................................................................................................... 114 5.8. OpenGL, games, redes sociais e tendncias................................................................................ 117 4. Exerccios............................................................................................................................................ 120 Anotaes................................................................................................................................................ 123 4. Android 4 1. Introduo plataforma Java Java mais que uma linguagem de programao, uma plataforma. Partindo deste conceito, consegue-se analisar o histrico, as principais utilidades, vantagens e desvantagens de trabalhar com o Java, utilizando exemplos de cdigo e explorando os principais comandos. Criada no incio dos anos 90 pela Sun Microsystems com o objetivo de ser uma linguagem independente de plataforma de execuo, Java segue os paradigmas de linguagem Orientada a Objetos (OO), o que era uma tendncia no desenvolvimento de software na poca de seu surgimento. Diferentemente de outras linguagens, cujos cdigos eram compilados para cdigo-nativo, Java compilado em bytecode, sendo este interpretado e executado por uma mquina virtual, no caso a JVM (Java Virtual Machine). Isto permite que o mesmo programa desenvolvido em Java seja executado em sistemas operacionais diferentes (como Windows e Linux, por exemplo). A Sun disponibiliza a maioria das extenses e distribuies Java de forma gratuita, obtendo receita com softwares especializados e mais robustos. Dentre as diversas extenses e distribuies Java, pode-se destacar: JSE (Standard Edition): a plataforma Java de utilizao mais comum, possui todos os recursos para o desenvolvimento de uma aplicao de ambiente de trabalho completa, como bibliotecas de cdigo, compilador, mquina virtual e ferramentas e APIs auxiliares; JEE (Enterprise Edition): a plataforma Java mais completa, possui todos os recursos da JSE e mais ferramentas e recursos especficos para o ambiente coorporativo (servidores) e web, como novas APIs de acesso a dados e segurana; 5. Android 5 JME (Micro Edition): a plataforma Java mais reduzida, especfica para utilizao em sistemas embarcados e mveis, contm menos recursos que a JSE, mas com APIs especficas, como de gerenciamento de MIDIs, Bluetooth, Wireless, GPS, etc; JSP (Server Pages): a tecnologia utilizada para a criao de pginas web, tem um comportamento semelhante ao ASP da Microsoft e o PHP e normalmente utilizada em combinao com o JEE (com Servlets, componentes de integrao Java, HTML e XML); JRE (Runtime Edition): o conjunto de ferramentas necessrias para a execuo de aplicaes Java, como a JVM (mquina virtual), algumas bibliotecas de execuo e outros utilitrios; Em 2006, Java foi parcialmente liberado como software livre sob a licena GNU (General Public License), sendo completamente licenciado como livre em 2007. A Sun foi comprada pela Oracle em 2009, o que no interferiu na licena de distribuio Java. Dessa forma, Java possui uma comunidade muito grande de desenvolvedores, o que d linguagem a vantagem de possuir uma enorme gama de frameworks (alguns pagos, mas a maioria gratuita), teis para diversas ocasies de desenvolvimento, e IDEs (Integrated Development Environment), ou seja, ambientes de desenvolvimento. A ferramenta mais utilizada para o desenvolvimento Java at 2011 o IDE Eclipse. Orientado ao desenvolvimento baseado em plugins, o Eclipse uma ferramenta de cdigo-fonte livre robusta, capaz de executar as principais operaes de produo de software (codificao, compilao, depurao, modelagem, persistncia, teste, publicao, etc.). Os diversos plugins disponveis do ao Eclipse a capacidade de produzir cdigos no s Java, mas tambm PHP, Python, Ruby, Action Script, dentre outros, alm de agregar funcionalidades diversas na codificao dessas linguagens. Um dos plugins mais conhecidos do Eclipse o ADT (Android Development Tools), que combinado com o SDK (Standard Development Kit), biblioteca de desenvolvimento Android disponibilizada de forma gratuita pela Google, d ao desenvolvedor o poder de no s pro