Curso Construção de Aplicativos - Android/Java 1. Conteúdo programático I. Conceituação geral de programação orientada a objeto: 2. Objetivo Preparar os participantes, com orientação segura e conteúdo adequadamente dimensionado, posibilitando-o ingressar e ter motivação para a continuidade na programação baseada na linguagem orientada a objeto Java, utilizando as ferramentas de desenvolvimento mais modernas hoje disponíveis. i. ii. iii. iv. v. vi. Classes e Objetos; Classificação, Polimorfismo, Herança e Encapsulamento; Instanciação e Qualificadores de Classes; Propriedades/Atributos de uma Classe; Interfaces e Métodos de uma classe; Constantes e Variáveis. Nota: Estes conceitos serão abordados de forma geral, sem um maior aprofundamento que possa prejudicar o andamento do curso. II. As ferramentas para desenvolvimento de aplicativos i. O IDE (Integrated Development Environment) e sua estruturação modular; ii. Acesso constante à página: https://developer.android.com/reference/classes.html iii. O Android Studio da Google e suas características. III. O celular como um computador de utilidade geral: i. Arquitetura do hardware e software: processador, sistema operacional e DVM (Dalvik Virtual Machine) para execução dos aplicativos; ii. Alguns elementos básicos do celular, sob a ótica do software: extends, implements, Interfaces, Classes, Exceptions,... etc; iii. A potência e integração do celular em todos os tipos de redes e o novíssimo conceito de IoT (Internet of Things). IV. Desenvolvimento de Aplicativos i. Conceituação de elementos principais da linguagem Android/Java para o desenvolvimento do software 1. As Classes Android e Java existentes e utilizáveis em um aplicativo Android e como busca-las e utiliza-las no Class Index; 2. Hierarquia de Classes; 3. Instanciação de Classes e SubClasses; 4. Interfaceamento de Classes; 5. Propriedades e Métodos de uma Classe; 1 Curso Construção de Aplicativos - Android/Java 6. Constantes e Variáveis. ii. Os elementos básicos principais sob a ótica do desenvolvedor do aplicativo 1. A interface gráfica (UI – User Interface) principal ou tela do celular, sua estruturação e componentes gráficos (como widgets) utilizáveis no seu conteúdo; 2. Componentes que destacamos para a criação de aplicativos: Activity, Intent e Service. (a) Activity – cada aplicativo conterá uma ou mais subclasses da principal classe pai (parent). Ex: android.support.v7.AppcompatActivity é uma classe pai da primeira Activity de um aplicativo; (b) Intent – declara uma operação a executar; (c) Service – componente/função executada sem interação com o usuário (nada aparece na tela). Exemplo: buscar o conteúdo de um campo em uma base de dados (através do sqlite3) e guardar em uma variável para apresentação futura. Usar a classe pai android.provider.ContractsContact para buscar um contato da sua lista. 3. Classes Importantes (a) Classes HahdlerThread, AsyncTask e IntentServices; (b) Classes Runnable e Thread; (c) Outras Classes Fundamentais. 4. Depuração de aplicativos (a) Tratamento de erros; (b) Acompanhamento da execução no Android Monitor (selecionar na parte inferior da tela) do IDE Android Studio; (c) Mostra na tela do celular, durante a execução do aplicativo, mensagens temporárias com o Toast. iii. Desenvolvimento de aplicativos Android/Java 1. A criação de aplicativos com o Android Studio. 2. A estrutura de arquivos em um aplicativo Android/Java no celular – alguns arquivos mais importantes: (a) (b) (c) (d) (e) O arquivo MainActivity.java O arquivo AndroidManifest.xml; O arquivo activity_main.xml; O arquivo strings.xml; Demais arquivos da estrutura. 2 Curso Construção de Aplicativos - Android/Java 3. O gerenciador de projetos Gradle e sua estrutura de arquivos (Gradle scripts). 4. A tela do celular ou Interface com o Usuário – UI (User Interface). (a) As categorias de elementos gráficos: Widgets, TextFields, Layouts, Containers, Images & Media, Date & Time, etc. (b) Colocação e posicionamento de elementos gráficos na tela do celular (UI – User Interface). Métodos arrastar e posicionar versus criação no arquivo activity_main.xml. 5. Construindo aplicativos (a) Alguns exemplos e conceitos básicos (1) Criação de métodos (funções) a serem executadas por ação de algum elemento gráfico da UI. Como exemplo apresentaremos até 3 formas de chamada de uma função a ser chamada ao clicar um botão. (2) Como depurar ou debugar o aplicativo em desenvolvimento, com os recursos do IDE Android Studio. Uso da classe Toast (para mensagens na tela do celular e da classe Log (mensagens na janela de depuração Android Monitor, do IDE Android Studio). (3) Uso da classe Intent para a execução de Activities. (4) Adição de uma ou mais Activity(ies) no aplicativo, além da principal. (5) Adição de outras Classes java no aplicativo. (b) Exemplos práticos – cada tópico consistindo de diversos exemplos dimensionados para a carga horária proposta para o curso. (1) Conectividade 1. Envio de SMS; 2. Recepção de SMS; 3. Envio de e-mail. (2) Uso de recursos do celular 1. Detecção da quantidade de câmeras existentes no aparelho; 2. Tirando foto com uma das câmeras. (3) Acrescentando Widgets, dinâmicamente na tela, através do aplicativo. (4) Fragments – criando e usando em uma Activity. 3 Curso Construção de Aplicativos - Android/Java (c) Sqlite3 – criando e usando uma base de dados simples. (d) Exemplo Especial na última aula - IoT (Internet of Things) Envio, pelo celular, de comandos de controle para sensores e atuadores em um kit próprio de grupo do Instrutor, através de WiFi. Contato com sockets Clients e Servers (WebServers). Nota: este conteúdo, até o início do curso, poderá ser alterado com o acéscimo de um ou mais itens que estamos analisando, em função do dimensionamento do tempo necessário. 3. Material Didático Fascículos guia com o conteúdo e exercícios de cada aula. 4. Verificação de Aprendizagem I. Na última hora da terceira aula:Teste de avaliação abrangendo o conteúdo apresentado nas duas primeiras aulas. II. Na última hora da quinta aula: Teste de avaliação abrangendo o conteúdo apresentado até a quarta aula. 5. Certificado de Conclusão Será fornecido um Certificado de Conclusão do Curso aos alunos que completarem pelo menos oitenta por cento da carga horária proposta. 6. Pré requisitos I. Algum conhecimento básico de lógica de programação estruturada. | II. 1 Notebook moderno e rápido para instalação de um pacote de software contendo a ferramenta de desnvolvimento IDE, o Android Studio já configurado para o desenvolvimento de aplicativos. Isto será realizado na primeira meia-hora da primeira aula; III. 1 telefone celular moderno contendo as características: i. Versão do Android igual ou superior a 2.3; ii. Telefone celular configurado no modo “root”. 7. Duração do curso 10 horas em 5 aulas-diárias de 2 horas em dias úteis consecutivos. 4 Curso Construção de Aplicativos - Android/Java 8. Preço R$ 2.500,00 por aluno; PROMOCIONAL !!! 1x de R$ 1.000,00 á vista via boleto 2x de R$550,00 nos cartões visa ou mastercard 3x de R$400,00 nos cartões visa ou mastercard 9. Número de alunos por turma Entre 10 e 16 – abertura das turmas com o número mínimo de 10 alunos, caso o número mínimo não seja alcançado, os alunos matriculados serão automaticamente transferidos para a próxima turma. 10. Cancelamento de matrículas Caso o aluno deseja cancelar sua matrícula haverá desconto no ressarcimento de 10% se o curso aiunda não houver começado e 20% por aula caso já tenha começado. 5 Curso Construção de Aplicativos - Android/Java 11. Instrutor – Resumo Curricular I. Nome: WELLINGTON GOMES DE ANDRADE II. Titularidade: i. Graduado em Engenharia Elétrica opção Eletrônica, em dez/1971. Identidade Profissional: CREA – 19025/D-DF; ii. Cursos de pós-graduação na área de telecomunicações como: 1. Comutação telefônica crossbar e cpa (centrais de programa armazenado) Telebrasília; 2. Tráfego Telefônico – Dimensionamento de centrais telefônicas, monitoramento, análise e distribuição/re-distribuição de cargas - Telebrasília; 3. Protocolos de alto nível ISO/OSI - Embratel; 4. Sistemas Operacionais - Embratel; 5. Banco de Dados e Bancos de Dados Distribuidos - Embratel; 6. Redes de Computadores - Embratel; 7. Projetos de sistemas mocroprocessados/microcontrolados. Arquiteturas Von Neumann e Harvard – Telebrasíla, Embratel, Prólogo. III. Atuações na área tecnológica i. Em empresas públicas ou estatais – principais destaques 1. Desenvolvimento de hardware e software para supervisão, armazenamento, processamento de dados obtidos, em tempo real, em etapas de tráfego terminado de centrais telefônicas crossbar, no ano de 1979. Projeto SATT – Sistema de Acompanhamento de Tráfego Terminado - Telebrasília; 2. Desenvolvimento de hardware analisador de direção de tráfego em linhas telefônicas, em 1980 - Telebrasília; 3. Desenvolvimento de rede e Sistema Diretor de Tiro de Artilharia de Campanha (obus 105 e 155mm), para o Exército Brasileiro, 1983 a 1986 – Prólogo SA Produtos Eletrônicos. ii. Em empresas próprias – Modula Telemática e, posteriormente Automata Tecnologia 1. Diversos software aplicativos para a área comercial consistindo de: (a) Automação comercial – administração de estoque, vendas, etc. - módulos de venda e PDV (caixa), em rede; (b) Software financeiro utilizado em empresas denominadas “Factoring” - em rede; (c) Software de gestão de laboratórios de análise clinica e patológica – em rede; 6 Curso Construção de Aplicativos - Android/Java 2. Diversos softwares na área de automação e controle (em linguagem C/C++) (a) Software para controle de máquinas classificadoras de documentos e cheques de alta velocidade – 1000 a 2000 documentos por minuto – módulos com processos matemáticos de convergência em passadas sucessivas para a distribuição e, também, captura de imagens. Para diversas empresas como ATP Tecnologia e Produtos (Brasília e todo o território nacional), SBK (antiga ServiceBank – SP), Bancoob – Banco Cooperativo de Brasil (Brasília/São Paulo/Curitiba/Rio de Janeiro/Salvador). Microban SP, etc. Até o ano de 2012. (b) Software para controle de máquinas classificadoras de documentos de baixa velocidade dezenas a poucas centenas de documentos por minuto – módulos com processos matemáticos de convergência em passadas sucessivas para a distribuição e, também, captura de imagens. Para as mesmas empresas citadas no item anterior. Máquinas dos seguintes fabricantes: SeacBanche (Itália); Vips France (França); Fuji System Machine (Japão). Até o ano de 2012. (c) Desenvolvimento de hardware e software, em parceria, de um módulo interface inteligente USB 2.0 para máquinas classificadoras de alta velocidade de fabricação NCR ou Banctec (ambas USA). Direito Autoral registrado no CONFEA-CREA. (d) Desenvolvimento de um módulo client de hardware e software baseado em protocolo SNMP, denominado SNMP TI (Trap Identifier) para controle no gerenciamento de CPDs. Direito Autoral registrado no CONFEA-CREA. (e) Desenvolvimento atual de aplicativos para automação e controle em ambientes com integração com redes em todas as escalas como LAN, WAN, redes de operadoras GSM, GPRS, etc., utilizando os recursos tecnológicos mais avançados e recentes em hardware e software Inúmeros outros projetos aqui não apresentados, para poupar o leitor. 7