O documento descreve a história e arquitetura do Android. Resumidamente:
1) O Android foi desenvolvido pela Open Handset Alliance liderada pelo Google para dispositivos móveis baseado no Linux.
2) Sua arquitetura inclui o kernel Linux, máquina virtual Dalvik, bibliotecas e framework Java.
Minicurso apresentado na Jornada de Atualização em Computação, Elétrica e Eletrônica (JACEE) da Universidade Federal do Espírito Santo (UFES). São apresentados o mercado para Android, o histórico da plataforma, a sua arquitetura, as diferenças do processo de desenvolvimento Java e Android e os componentes básicos de aplicação. Também são descritos os passos para criação de dois aplicativos do início ao fim.
Android é uma plataforma aberta voltada para dispositivos móveis desenvolvida pela Google e atualmente é mantida pela Open Handset Alliance (OHA). Todas as aplicações desenvolvidas para essa plataforma foram criadas com a linguagem Java, o que facilita muitos programadores com conhecimentos em Java (ou de outras linguagens próximas de Java como C++ e C#) a desenvolver aplicações para o Android.
Esta apostila tem por objetivo mostrar de modo fácil como programar na plataforma para dispositivos móveis da Google (Android) usando a IDE Eclipse.
Para quem dedico este material?
Este material é dedicado aos usuários experientes ou iniciantes em programação (tanto para Desktop, Móbile e etc.), que já tenha algum contato com a linguagem Java ou com uma de suas derivadas (como C/C++ ou C#).
Minicurso apresentado na Jornada de Atualização em Computação, Elétrica e Eletrônica (JACEE) da Universidade Federal do Espírito Santo (UFES). São apresentados o mercado para Android, o histórico da plataforma, a sua arquitetura, as diferenças do processo de desenvolvimento Java e Android e os componentes básicos de aplicação. Também são descritos os passos para criação de dois aplicativos do início ao fim.
Android é uma plataforma aberta voltada para dispositivos móveis desenvolvida pela Google e atualmente é mantida pela Open Handset Alliance (OHA). Todas as aplicações desenvolvidas para essa plataforma foram criadas com a linguagem Java, o que facilita muitos programadores com conhecimentos em Java (ou de outras linguagens próximas de Java como C++ e C#) a desenvolver aplicações para o Android.
Esta apostila tem por objetivo mostrar de modo fácil como programar na plataforma para dispositivos móveis da Google (Android) usando a IDE Eclipse.
Para quem dedico este material?
Este material é dedicado aos usuários experientes ou iniciantes em programação (tanto para Desktop, Móbile e etc.), que já tenha algum contato com a linguagem Java ou com uma de suas derivadas (como C/C++ ou C#).
Primeiros slides do curso de Android da Especializa. O curso foi reformulado no início de 2013 e você pode conferir a ementa completa em http://www.especializa.com.br/curso/android
Este material foi atualizado em Janeiro de 2014
Quarta sequência de slides do curso de Android da Especializa Treinamentos
http://www.especializa.com.br/curso/android
Assunto desta aula:
- Application (Mais detalhes do AndroidManifest.xml)
- Activity
- Fragment
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneHenrique Perticarati
Usuários de Android interagem com seu smartphone de outra forma. Ok, é parecido, mas não é nem de longe igual.
Com 66% de mercado no Brasil e crescendo a cada mês, o Android possui um Design de Interação consistente e que é usado por Facebook, Evernote, Dropbox, Whatsapp e pelos apps mais bem avaliados na PlayStore.
Na hora de planejar seu app, tome corretamente a decisão que pode levá-lo à boa aceitação, ou ao fracasso total! Por que não aderir e oferecer ao seu usuário a melhor experiência?
O objetivo deste livro é apresentar a você o mundo do Android de uma forma fácil e rápida, sem muita enrolação.
Hoje em dia, cada vez mais pessoas utilizam o celular para acessar a Internet; o volume é tanto que o acesso à web, por dispositivos móveis, já está quase superando o acesso por computadores tradicionais. Por essa razão, muitas empresas, na área mobile, faturam milhões anualmente desenvolvendo aplicativos próprios e para terceiros.
Com a altíssima demanda por profissionais qualificados e a grande falta destes, começam a aparecer grandes oportunidades para quem quer seguir uma carreira como desenvolvedor Android, seja em grandes empresas ou autônomos.
O livro Android Aprendiz mostra exatamente o marco inicial do caminho a ser percorrido para que você adentre o mundo da plataforma e, num breve futuro, alcance o grau de profissionalismo para aproveitar essas oportunidades. É um conteúdo de qualidade que está focado na criação de sua primeira aplicação Android!
Introdução à criação de aplicações Android. Aborda a parte inicial, de instalação dos pré-requisitos, faz uma geral sobre a plataforma e seus principais elementos, e finaliza com um exemplo. Muitas capturas de tela para facilitar o aprendizado.
Perspectivas do mobile, oportunidades no desenvolvimento mobile, mundo Android (história, arquitetura, componentes básicos), desenvolvimento Android primeiros passos.
Material abrange os paradigmas mais importantes do desenvolvimento móvel.
Material é fundamental para quem está interessado em migrar ou criar aplicações móveis.
Primeiros slides do curso de Android da Especializa. O curso foi reformulado no início de 2013 e você pode conferir a ementa completa em http://www.especializa.com.br/curso/android
Este material foi atualizado em Janeiro de 2014
Quarta sequência de slides do curso de Android da Especializa Treinamentos
http://www.especializa.com.br/curso/android
Assunto desta aula:
- Application (Mais detalhes do AndroidManifest.xml)
- Activity
- Fragment
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneHenrique Perticarati
Usuários de Android interagem com seu smartphone de outra forma. Ok, é parecido, mas não é nem de longe igual.
Com 66% de mercado no Brasil e crescendo a cada mês, o Android possui um Design de Interação consistente e que é usado por Facebook, Evernote, Dropbox, Whatsapp e pelos apps mais bem avaliados na PlayStore.
Na hora de planejar seu app, tome corretamente a decisão que pode levá-lo à boa aceitação, ou ao fracasso total! Por que não aderir e oferecer ao seu usuário a melhor experiência?
O objetivo deste livro é apresentar a você o mundo do Android de uma forma fácil e rápida, sem muita enrolação.
Hoje em dia, cada vez mais pessoas utilizam o celular para acessar a Internet; o volume é tanto que o acesso à web, por dispositivos móveis, já está quase superando o acesso por computadores tradicionais. Por essa razão, muitas empresas, na área mobile, faturam milhões anualmente desenvolvendo aplicativos próprios e para terceiros.
Com a altíssima demanda por profissionais qualificados e a grande falta destes, começam a aparecer grandes oportunidades para quem quer seguir uma carreira como desenvolvedor Android, seja em grandes empresas ou autônomos.
O livro Android Aprendiz mostra exatamente o marco inicial do caminho a ser percorrido para que você adentre o mundo da plataforma e, num breve futuro, alcance o grau de profissionalismo para aproveitar essas oportunidades. É um conteúdo de qualidade que está focado na criação de sua primeira aplicação Android!
Introdução à criação de aplicações Android. Aborda a parte inicial, de instalação dos pré-requisitos, faz uma geral sobre a plataforma e seus principais elementos, e finaliza com um exemplo. Muitas capturas de tela para facilitar o aprendizado.
Perspectivas do mobile, oportunidades no desenvolvimento mobile, mundo Android (história, arquitetura, componentes básicos), desenvolvimento Android primeiros passos.
Material abrange os paradigmas mais importantes do desenvolvimento móvel.
Material é fundamental para quem está interessado em migrar ou criar aplicações móveis.
Gestão de Conteúdo Web: Guia Básico Utilizando o Joomla!Daniel Corrêa
Este trabalho apresenta uma visão geral sobre gestão de conteúdo Web e as ferramentas
utilizadas para automatizar esse processo. São apresentados os conceitos básicos e os
problemas encontrados na gestão tradicional de conteúdo. A solução são as ferramentas
denominadas Content Management System (CMS) – Sistema de Gerenciamento de Conteúdo.
O CMS escolhido para ser apresentado aqui foi o Joomla!, por ser o que está em maior
evidência no mercado mundial e ainda não possuir manuais ou referências em português.
Várias pessoas e empresas nacionais já utilizam o Joomla! como solução, porém a falta de
informações em nosso idioma gera uma curva de aprendizado maior que o necessário em sua
utilização.
Desenvolvimento de site com Joomla! suas principais vantagens e desvantagens e as principais características. A separação entre design, programação e conteúdo permite uma grande flexibilidade na produção de sites com design extremamente customizados. Além disso, existem milhares de templates prontos que agilizam o processo de criação de sites com rapidez e menor investimento.
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...jCursos
Slides da palestra "Ganhando agilidade na criação de sites Joomla com CCKs e frameworks" ministrada por Leo Miranda no Joomla Day Ribeirão Preto em 12 de maio de 2012.
Aprenda a instalar o XAMPP, por meio deste tutorial criado por Danilo Barros Andrade.
Em caso dúvidas, por favor, entre em contato conosco.
danilo@konfide.com.br
Webinar: Usando o InduSoft Web Studio para Criar Gráficos HTML5 IHM/SCADAAVEVA
Breve no Service Pack 2 da versão 7.1 do InduSoft Web Studio, estaremos lançando as melhorias do Studio Mobile Access (SMA), o Thin Client que permite a criação de aplicações mobile IHM/SCADA com telas funcionais utilizando HTML 5.
Apresentação de alguns programas que podem ser instalados em celulares com sistema operacional; middleware e interface e os procedimentos de instalação do SDK e NDK Android. Principais métodos para captura de imagens na plataforma Android para posterior processamento, exemplos com código fonte de aplicativos de realidade aumentada em celulares Android, demonstração de todo potencial da tecnologia Webtop da Motorola presente no celular Atrix e demonstração da biblioteca de visão computacional openCV nesta plataforma.
Palestrante: Alessandro de Oliveira Faria
Sócio-proprietário da empresa Neti Tecnologia, atua na área desde 1986 e é Consultor Biométrico na tecnologia de reconhecimento facial. Membro colaborador da comunidade Viva O Linux, é mantenedor da biblioteca open-source de vídeo captura e membro do openSUSE.
Programação para dispositivos Móveis - Criação de aplicativos - Android Aula...Diogo Rafael da Silva
Programação para dispositivos Móveis - Criação de aplicativos - Android Aulas de 1 a 10 - CENTEC, aulas de java, android e andoird studio, aplicativos, app, apps, kotlin
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Tchelinux
Em 2019 lancei um curso semi-presencial de "Introdução à administração de sistemas Linux". Praticamente todos os passos, desde gravação até edição foram feitos utilizando software livre. O objetivo da palestra é apresentar os bastidores da gravação do curso e ensinar as pessoas que assistirem a palestra a também criarem seus próprios vídeos utilizando software livre.
Vinícius Alves Hax é formado em Engenharia de Computação pela FURG e trabalha atualmente como Analista de TI na reitoria do IFSul. Utiliza Linux há quase quinze anos e tem experiência em desenvolvimento web e como administrador de sistemas, sempre utilizando preferencialmente o sistema livre.
Para mais informações:
http://viniciusah.com.br/
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeTchelinux
Estamos conectados cada vez mais, mas será que manter o padrão nos deixa seguros na internet? .... Nesta palestra, que foi tema que ministrei no 1º Simpósio Regional de Segurança Cibernética, realizado pela Marinha do Brasil. Irei de maneira simples comentar sobre os aspectos relacionados a nossa segurança digital em um mundo pós Edward Snowden.
Diego Luiz Silva da Costa é o idealizador e mantenedor do Canal no YouTube Projeto Root, que nasceu, em maio de 2014, a partir de uma ideia sua ainda na graduação em Redes de Computadores, na Faculdade de Tecnologia SENAC Pelotas. O canal tem como propósito o ensino gratuito sobre Tecnologia, Software Livre, GNU-Linux, Redes de Computadores e Segurança da Informação.
Para mais informações:
https://www.linkedin.com/in/diegocosta82/
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Tchelinux
O objetivo da palestra é apresentar a funcionalidade dos editores de texto open source(com foco em LibreOffice e OpenOffice) para usuários de software livre e para aqueles que desejam migrar para a iniciativa open source, demonstrando a ampla capacidade destes programas na produção de textos, como artigos, livros e trabalhos acadêmicos.
Gabriel Prestes Ritta é escritor e autor da série literária "Lendas de Um Mundo Perdido" e de artigos publicados em jornais. Além disso, é um entusiasta do software livre, principalmente no que tange a área da escrita e do Design. Possui experiência com ferramentas variadas, como LibreOffice Writer, Blender 3D, Gimp e Kdenlive. Atualmente, cursa o terceiro ano do ensino médio e pretende formar-se em áreas da ciência e tecnologia.
Para mais informações:
https://www.facebook.com/GabrielRittaWriter/
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Tchelinux
Jogar todo mundo joga. Programar, todo mundo pode. Jogar todo mundo treina. Programar, nem tanto. Mas para jogar é necessário que alguém desenvolva suas habilidades de programador. Nesse bate papo, porque ninguém mais tem paciência para palestras, será apresentada uma forma divertida de desenvolver a programação e conhecer a linguagem Python, construindo jogos, utilizando a biblioteca Pygame e ferramentas open source para desenvolver um jogo.
Jerônimo Medina Madruga trabalha com suporte técnico e treinamento para educação a distância da Universidade Federal de Pelotas (UFPel). Tem formação em Técnico em Eletrônica pelo Instituto Federal Sul-Rio-Grandense (IFSUL) e é ocasionalmente atuante em grupos ligados a divulgação e desenvolvimento de software livre. Já realizou mais de 70 palestras em eventos internacionais, nacionais e regionais, sobre os temas mais variados possíveis, normalmente ligados a educação, programação, comunidades, CMS e administração de sistemas.
Para mais informações:
https://www.linkedin.com/in/jmmadruga/
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeTchelinux
Palestra focada ao público mais jovem. Através de uma análise do mercado atual, o palestrante traça diferentes caminhos para um desenvolvedor que deseja iniciar a sua carreira.
Matheus Cezar é Técnico em Desenvolvimento de Software pelo IFRS - Campus Rio Grande e Analista de Sistemas formado pela mesma instituição. Já frequentou o mercado do desenvolvimento no estado do Rio Grande do Sul durante alguns anos. Hoje, Analista de TI na Prefeitura Municipal de Rio Grande.
Para mais informações:
https://www.linkedin.com/in/matheus-mendes-cezar-662905132/
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
A arquitetura das aplicações web vem mudando ao longo do tempo, não basta só sabermos fazer requests e esperarmos um json de retorno. Entender o conceito por trás das APIs e as vantagens do padrão RESTful farão toda a diferença na hora de desenvolver aplicações "elegantes".
Marcos Echevarria é Marcos Echevarria é mestre em Ciência da Computação pela Universidade Católica de Pelotas. Desenvolve sistemas web há mais de 10 anos, tendo liderado equipes em projetos de médio e grande porte em empresas nacionais e internacionais. Atualmente é CEO na empresa Be Mobile e professor na Universidade Católica de Pelotas, onde leciona as disciplinas de Algoritmos e Engenharia de Software.
Para mais informações:
https://twitter.com/quinhodev
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Tchelinux
Esta palestra tem o objetivo de apresentar uma experiência prática de utilização de Shell Script para a automatização de instalações e configurações de softwares em ambientes Linux. O desenvolvimento de tal automatização se deu no contexto do projeto AVAPolos, projeto de desenvolvimento tecnológico financiado pela CAPES e desenvolvido no Centro de Ciências Computacionais da FURG. Espera-se que o compartilhamento desta experiência forneça aos ouvintes uma visão de como o uso de Shell Script pode oferecer reprodutibilidade, facilidade, robustez e velocidade na configuração de serviços e sistemas.
Rafael Arvelos Martins Souza é Bolsista do projeto AVAPolos, onde trabalha na automatização da instalação e configuração da solução. É estudante do segundo ano de Engenharia de Automação na FURG. Interessado em infraestrutura de sistemas e redes, segurança da informação, Internet das Coisas e sistemas embarcados.
Para mais informações:
https://www.facebook.com/rsouzika
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...Tchelinux
A maneira como realizamos chamadas de áudio e vídeo e compartilhamento P2P nos últimos anos mudou muito e tudo isso graças ao WebRTC. WebRTC é um projeto aberto que permite comunicação em tempo real ponto a ponto entre navegadores, dispositivos móveis e IoT através de uma simples API JavaScript. Nesta palestra entenda melhor o funcionamento desta API e tudo que ela nos permite fazer.
Nelson Dutra Junior é Graduando em Engenharia de Computação pela UFPel, entusiasta de Software Livre, presidente na UFPel Rocket Team, foi voluntário na Comunidade Mozilla Brasil e atua como desenvolvedor Full Stack.
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Tchelinux
Nesta palestra iremos abordar os princípios do pensamento funcional, qual a diferença dele com o imperativo e o que faz uma linguagem de programação ser funcional. Também veremos como dar os primeiros passos aplicando esse pensamento através do Clojure, vendo seus principais comandos, estratégias e maneiras de trabalhar.
Victor Hechel Colares esta cursando o terceiro semestre do curso de Tecnologia em Análise e Desenvolvimento de Sistemas (TADS) no IFRS Câmpus Rio Grande e trabalha como desenvolvedor .NET. Em 2018 concluiu o Técnico em Informática para Internet integrado ao Ensino Médio, também no IFRS.
Para mais informações:
https://www.linkedin.com/in/victor-colares-89a412170/
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeTchelinux
Visa introduzir conceitos básicos envolvidos na criação de um Data Warehouse. A palestra aborda desde o que é um data warehouse, até conceitos de modelagem utilizados na construção do mesmo.
Vítor Resing Plentz está concluindo o curso de Ciência da Computação, já foi presidente da Hut8 (EJ da Computação na UFPel) e atualmente é fundador e Cientista de Dados na Elixir AI, participando também como organizador da comunidade Pelotas Data Science Meetup.
Para mais informações:
https://www.linkedin.com/in/v%C3%ADtor-resing-plentz-438681101
Nas aulas abrimos bastantes "parênteses". Não, não os de código, os de assuntos paralelos mesmo. BIKESHEDDING! Nesses pequenos desvios, fala-se da etimologia dos nomes, das metáforas e filosofias usadas na programação, de fun facts, de tretas no mundo das empresas e da vida dos tech superstars, de idiossincrasias da comunidade de desenvolvimento e tecnologia, enfim, uma miscelânea de assuntos curiosos, que nunca teriam uma disciplina para encaixá-los, mas que agora tem uma palestra de 50 min :)
Márcio Josué Ramos Torres "Eu nasci a dez mil anos atrás", comecei com Basic num CP500 da Prológica - não, não tinha mouse; sem Internet, se aprendia lendo livros e revistas técnicas, escrevendo códigos e fazendo experiências; desenvolvi aplicações comerciais em dBase e então Clipper, sobre a plataforma MS-DOS; joguei Prince of Persia, Wolfenstein e DOOM (o primeiro!) - se usava o DOS/4GW para usar a memória estendida; já montei meu computador - quando se "setava" a IRQ por jumpers; instalei redes com cabo coaxial e conectores BNC; eu vi a ascensão da interface gráfica - adeus caracteres em fósforo verde; instalei o Win95 - malditos 13 disquetes; tive um Kit Multimídia da Creative - e uma Voodoo da 3dfx; migrei sistemas de Clipper para VB e Delphi; usei a Internet quando só existia HTML com "meia dúzia" de tags -sem CSS ou JS; acompanhei a ascensão da Web; eu estava lá, no início do Linux, vi sua evolução e consolidação nos servidores web - junto com CGI, Perl, Apache, MySQL, PHP, etc; instalei o Conectiva e já compilei o Kernel; instalei programas no "muque" - sem apt-get ou "avançar, avançar, ..."; comecei com Java ainda na versão 1.3 - sem enums, generics, autoboxing, etc, e tive meu primero contato (confronto) com OO - adeus velhos hábitos procedimentais; observei a Googlificação - mas usei o Cadê e o AltaVista; eu também estava lá, no crescimento do e-commerce - e no estouro da bolha da Internet; tive minha passagem por .NET e por Java EE e seus "ecosistemas"; atualmente, leciono POO, Patterns e Web no IFRS de Rio Grande e percebo que, na tecnologia, a única constante é o relacionamento com as pessoas.
Para mais informações:
https://www.linkedin.com/in/marcio-josue-ramos-torres/
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Tchelinux
O objetivo da palestra é mostrar os recursos que o sistema Latex oferece para produção e formatação de artigos científicos, trabalhos de conclusão de curso e outras produções textuais, especialmente acadêmicas.
Samuel Francisco Ferrigo é Mestre em Computação Aplicada pela Unisinos. Possui MBA em Gestão de TI pela UCS. Tecnólogo em Redes de Computadores pela UniFTEC. Trabalha com TI há quase 20 anos.
Para mais informações:
http://lattes.cnpq.br/0533228733592354
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...Tchelinux
A tecnologia de hoje não é a mesma que existia no passado e também não será a mesma no futuro. Sobre o futuro, sabemos que com o avanço dela novas profissões irão surgir, essas novas profissões, oriundas de demandas ainda não existentes, são fomentadas no presente, à partir da escolha das competências necessárias para os futuros profissionais. As junções das habilidades desenvolvidas em diversas áreas de conhecimento tornará os profissionais aptos a exercerem funções ainda não existentes, seja emocionalmente, intelectualmente ou tecnicamente, para assim estar mais preparado para o mundo do trabalho. Falaremos de projetos que já estão em andamento para que esses novos profissionais estejam aptos para este futuro promissor tecnológico.
Jaqueline Trevizan cursa Análise e desenvolvimento de sistemas na Uniftec, e é apaixonada por tecnologia. Apoia e incentiva o ensino de programação para crianças e adolescentes e a inclusão da mulher na área de TI.
Neiva Kuyven é Doutoranda em Informática na Educação na UFRGS- Universidade Federal do Rio Grande do Sul. Mestre em Ciências da Computação pela Universidade Federal de Santa Catarina (2002), Graduação em Informática pela Universidade Regional do Noroeste do Estado do Rio Grande do Sul (1996) . Coordenadora do Curso de Bacharelado em Engenharia de Computação e do Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas do Centro Universitário UNIFTEC. Atua como professora nos cursos que coordena e também nos cursos Superiores de Redes de Computadores e Gestão da Tecnologia. Líder do grupo de pesquisa de Inteligência Artificial do UNIFTEC.
Alexandra Cemin possui Licenciatura Plena em Matemática e Física (UCS), especialista em Psicopedagogia em Gestão Organizacional e Psicopedagogia Clínica (UNILASALLE), com ênfase em dificuldades de aprendizagem matemática, mestrado em Educação (UNILASALLE) e doutoranda em Engenharia e Ciência dos Materiais (UCS). Atua como palestrante nas áreas de educação, é assessora pedagógica da EAD no Uniftec, docente de cálculo nas engenharias, docente de física na educação de jovens e adultos modalidade à distância no SESI/FIERGS e desenvolvedora de conteúdos, ministra disciplinas em cursos de pós-graduação. Pesquisadora na área de inteligência artificial e metodologias de ensino e coordenadora de projetos em robótica e programação para crianças e adolescentes. Experiência como: Coordenadora Pedagógica no Ensino Superior da rede Ftec Faculdades, docente de matemática e física no ensino básico, técnico, jovens e adultos (EAD) e superior, instrutora de robótica educacional e coordenadora de projetos.
Para mais informações:
https://www.linkedin.com/in/jaquelinetrevizan
http://lattes.cnpq.br/6429639409221087
http://lattes.cnpq.br/1958688202287600
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...Tchelinux
Nesta apresentação conheceremos o oVirt, uma poderosa solução de código aberto de virtualização.
Daniel Lara trabalha como Sysadmin e nas horas de folgas contribui com o Projeto Fedora.
Para mais informações: https://twitter.com/danniellara
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Tchelinux
Buidroot é uma ferramenta para automação do processo de geração de um sistema Linux para dispositivos embarcados. O objetivo da palestra é dar uma visão geral dos componentes de um sistema embarcado que utiliza Linux e como gerar um sistema Linux embarcado com o Buildroot.
Renato Severo é Engenheiro de Computação pela Unipampa Bagé. Especialista em Sistemas Embarcados pela UERGS Guaíba. Desenvolvedor de Sistemas Embarcados na DATACOM em Eldorado do Sul.
Para mais informações acesse: https://linkedin.com/in/renatossevero/
4. Desenvolvendo aplicações em Java para o Google Android
Android, como começou?
● Julho de 2005, Google adquire a Android Inc,
com sede em Palo Alto, CA.
● Objetivos
– Desenvolver um OS para dispositivos móveis
baseado em Linux
– Terá como premissa proporcionar uma estrutura
flexível e atualizável
● Começam os rumores que ao Google planeja
entrar no mercado de telefonia móvel...
Tchelinux
12/11/08 4
5. Desenvolvendo aplicações em Java para o Google Android
Porque dispositivos móveis?
● O crescimento de dispositivos móveis, ligados a
rede é maior que o de PC's...
● Pessoas com o primeiro contato com a web via
celular...
● Todos terão um...
Tchelinux
12/11/08 5
6. Desenvolvendo aplicações em Java para o Google Android
Android, como apareceu?
● Dia 5 de novembro de 2007, a Open Handset
Alliance, foi anunciada.
– Consorcio formado por empresas como, Google,
HTC, Intel, Motorola, Qualcomm, TMobile, Sprint
Nextel e NVIDIA (mais de 30 empresas)
– Seu objetivo é desenvolver padrões abertos para os
dispositivos móveis
– Anunciou seu primeiro produto o Android,
construído sobre o sistema operacional Linux
Tchelinux
12/11/08 6
7. Desenvolvendo aplicações em Java para o Google Android
Depois do anuncio...
● Dia 12 de Novembro de 2007 primeira versão do SDK
● De Janeiro a Agosto de 2008 Android Developer Challenge I
● Dia 18 Agosto de 2008 Android 0.9 SDK beta released
● Dia 28 Agosto de 2008 apresentação para o mercado
● Dia 23 Setembro de 2008 Android 1.0 SDK Release 1
● Dia 21 de Outubro de 2008 Código fonte disponibilizado
● Dia 22 de Outubro de 2008 aparelho com Android 1.0 a venda (G1)
● Q4 2008 – Anúncio do Android Developer Challenge II
Tchelinux
12/11/08 7
12. Desenvolvendo aplicações em Java para o Google Android
Licenças
● “The platform also includes a modified version
of the Linux Kernel, which is distributed under
the GNU's General Public License (GPL).”
● “The source code released today also includes
Google's Dalvik virtual machine and Javabased
middleware layer, which are distributed under
version 2 of the Apache Software License
(ASL).“
Tchelinux
12/11/08 12
15. Desenvolvendo aplicações em Java para o Google Android
Porque licença Apache (ASL)?
● We took a close look earlier this year at why
Google chose the ASL for its Android userspace
components and pointed out that its
permissiveness will encourage commercial
adoption and allow handset makers to create
proprietary enhancements on top of the
technology.
Tchelinux
12/11/08 15
17. Desenvolvendo aplicações em Java para o Google Android
Aberto
● Em três pontos de vista (três reis):
– Industria: Licença Apache 2.0
– Usuários: Controle total
– Desenvolvedor: não precisa pedir permissão
Tchelinux
12/11/08 17
19. Desenvolvendo aplicações em Java para o Google Android
Java ME
● Subset do JSE, utilizada para ambientes
embedded
● É a tecnologia mais utilizada no mundo para
dispositivos embedded
● Pode rodar numa infinidade de dispositivos:
telefones celulares, PDA's, TV's, impressoras,
etc...
● Recursos nivelados por baixo
● Industria: problemas com licenças
Tchelinux
12/11/08 19
20. Desenvolvendo aplicações em Java para o Google Android
Android API vs Java API
Pacotes Suportados
● java.io File and stream I/O
● java.lang (except java.lang.management) Language and
exception support
● java.math Big numbers, rounding, precision
● java.net Network I/O, URLs, sockets
● java.nio File and channel I/O
Tchelinux
12/11/08 20
21. Desenvolvendo aplicações em Java para o Google Android
Android API vs Java API
Pacotes Suportados
● java.security Authorization, certificates, public keys
● java.sql Database interfaces
● java.text Formatting, natural language, collation
● java.util Lists, maps, sets, arrays, collections
– including java.util.concurrent
Tchelinux
12/11/08 21
22. Desenvolvendo aplicações em Java para o Google Android
Android API vs Java API
Pacotes Suportados
● javax.crypto Ciphers, public keys
● javax.net Socket factories, SSL
● javax.security except:
– javax.security.auth.kerberos
– javax.security.auth.spi
– javax.security.sasl
● javax.sound Music and sound effects
Tchelinux
12/11/08 22
23. Desenvolvendo aplicações em Java para o Google Android
Android API vs Java API
Pacotes Suportados
● javax.sql More database interfaces
– except javax.sql.rowset
● javax.xml.parsers XML parsing
● org.w3c.dom DOM nodes and elements
– but not subpackages
● org.xml.sax Simple API for XML
Tchelinux
12/11/08 23
24. Desenvolvendo aplicações em Java para o Google Android
Android API vs Java API
Pacotes não Suportados
● java.applet ● javax.accessibility
● java.awt ● javax.activity
● java.beans ● javax.imageio
● java.lang.management ● javax.management
● java.rmi ● javax.naming
Tchelinux
12/11/08 24
25. Desenvolvendo aplicações em Java para o Google Android
Android API vs Java API
Pacotes não Suportados
● javax.print ● javax.xml
● javax.rmi – except javax.xml.parsers
● javax.security.auth.kerberos ● org.ietf.*
● javax.security.auth.spi ● org.omg.*
● javax.security.sasl ● org.w3c.dom.*
● javax.swing – subpackages
● javax.transaction
Tchelinux
12/11/08 25
26. Desenvolvendo aplicações em Java para o Google Android
Android API
Pacotes Suportados (não JSE)
● org.apache.commons.codec
– Utilities for encoding and decoding
● org.apache.commons.httpclient
– HTTP authentication, cookies, methods, and
protocolorg.bluez Bluetooth support
● org.json JavaScript Object Notation
Tchelinux
12/11/08 26
28. Desenvolvendo aplicações em Java para o Google Android
Software Livre e Java
✔ Freshmeat ranking de linguagens
✔ 1 C (9223 projetos)
✔ 2 Java (6225 projetos)
✔ 3 C++ (5156 projects)
✔ Portal java.net
✔ Projetos
✔ Grupos de usuários
✔ Fóruns
Tchelinux
12/11/08 28
33. Desenvolvendo aplicações em Java para o Google Android
Linux Kernel
● Versão do kernel: 2.6
– Camada de de abstração entre o hardware e o resto da
pilha de software
– Segurança
– Gerenciamento de memória
– Gerenciamento de processos
– Protocolos de rede
– Modelo de drivers
Tchelinux
12/11/08 33
35. Desenvolvendo aplicações em Java para o Google Android
Bibliotecas
● Andróid inclui um conjunto de bibliotecas C/C++ usadas por
diversos componentes do sistema:
● System C Library ● SGL
● Media Libraries ● 3D Libraries
● Surface Manager ● FreeType
● LibWebCore ● SQLite
Tchelinux
12/11/08 35
42. Desenvolvendo aplicações em Java para o Google Android
Android SDK
● O Android SDK é formado por:
– Ferramentas de linha de comando
– Debugger
– Libraries
– Emulador (baseado no QEMU)
– Documentação
– Códigos de exemplo
– Tutoriais
Tchelinux
12/11/08 42
43. Desenvolvendo aplicações em Java para o Google Android
Android SDK
● É suportado em plataformas baseadas em x86
– Linux (qualquer distribuição)
– Mac OS X 10.4.8 or later,
– Windows XP or Vista.
Tchelinux
12/11/08 43
44. Desenvolvendo aplicações em Java para o Google Android
Android SDK
● Depende de:
– JDK Java Development Kit
– Apache Ant
– Python 2.2 or later.
● IDE oficial
– Eclipse 3.2 or later
– Android Development Tools (ADT) Plugin
● Não é compatível com o Gnu Compiler for Java (gcj)
Tchelinux
12/11/08 44
45. Desenvolvendo aplicações em Java para o Google Android
Android SDK
● Ferramentas de linha de comando
– emulator – Android emulator
– aapt – Android asset packaging tool
– adb – Android debug bridge
– aidl – Android IDL compiler
Tchelinux
12/11/08 45
49. Desenvolvendo aplicações em Java para o Google Android
Suas Caracteristicas...
● Application Framewok: torna possível o reuso e a substituição
de componentes
● Máquina virtual Dalvik: Otimizada para rodar em dispositivos
móveis
● Navegador integrado: Baseado no WebKit, mesmo que o
Chrome e Safari
● Otimização gráfica:
– Bibliotecas 2D
– Gráficos 3D (OpenGL 1.0)
● SQLite: Para persistência de dados
● Suporte para mídias: Aúdio, vídeo, formatos de imagens
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG e GIF)
Tchelinux
12/11/08 49
50. Desenvolvendo aplicações em Java para o Google Android
Suas Caracteristicas...
● Dependente do hardware:
– GPRS/GSM e EDGE
– Bluetooth
– Telefonia 3G
– WiFi
– Câmera
– GPS
– Bússola
– Acelerômetro
Tchelinux
12/11/08 50
51. Desenvolvendo aplicações em Java para o Google Android
Emulador
● Emula o hardware (QEMU)
● Não possui suporte:
– Fazer e receber chamadas
– Captura de foto/áudio/vídeo
– Nível da bateria
– Bluetooth
Tchelinux
12/11/08 51
53. Desenvolvendo aplicações em Java para o Google Android
Aplicação Android
● Existem 4 tipos básicos de elementos:
– Activities
– Intents e IntentFilters ( BroadcastReceivers)
– Services
– Content Providers
● Os componentes que compõe a aplicação estão no
AndroidManifest.xml.
Tchelinux
12/11/08 53
58. Desenvolvendo aplicações em Java para o Google Android
Macintosh X IBMPC
● Plataforma Fechada ● Plataforma Aberta
● Um fornecedor ● Varios fornecedores
● Considerado o melhor ● Dominou o mercado
Tchelinux
12/11/08 58
62. Desenvolvendo aplicações em Java para o Google Android
Android não é Java
● Não executa bytecodes
– Execura arqquivos dex
● Não possui JVM (????)
– Dalvik não é uma JVM
● Não segue as especificações do JCP
Tchelinux
12/11/08 62
63. Desenvolvendo aplicações em Java para o Google Android
JCP Quem “manda” no Java
● JCP – Java Community Process
● Qualquer um pode participar (JSR's)
● O processo é aberto (papel da Sun)
● Compatibility Test Suite: mais de 5000 itens
Tchelinux
12/11/08 63
64. Desenvolvendo aplicações em Java para o Google Android
Membros JCP
– Apache Software Foundation
– BEA Systems
– Borland
– Google
– Fujitsu Limited
– HewlettPackard
– IBM
– Intel
– Oracle
– Red Hat
– SAP
– Sun Microsystems
Tchelinux
12/11/08 64
65. Desenvolvendo aplicações em Java para o Google Android
Dalvik
● Interpreteronly, register based virtual machine
– Dan Bornstein
● Optimized to run multiple VM instances
● Executes files in .dex format
● Runs on posixcompliant operating systems
● Looks like Java
● Dalvik?
– village of Dalvík in Iceland
Tchelinux
12/11/08 65
69. Desenvolvendo aplicações em Java para o Google Android
Dalvik – sem JIT
● Geralmente não precisa
● Lotes de código nativo
● Sistema proporciona libs para gráficos, mídia
● JNI disponível
● Suporte a hardware comum (gráficos, áudio)
– Dan Bornstein
Tchelinux