Upload
kamila-joyce
View
98
Download
1
Embed Size (px)
DESCRIPTION
Utilizando o twitter4j para aplicações, desenvolvendo códigos
Citation preview
Redes Sociais: Contextualização e Integração de
Serviços à Aplicações Mini Curso IMD 2014.1
Juliana Oliveira
Sarah Sakamoto
_______________________________________________
Agenda do Mini-Curso
• Contextualização
• Conceitos básicos
• Apresentação da API Twitter4J
• Apresentação prática de desenvolvimento para
Java (desktop)
Android
Mini-Curso
• Contextualização
• O mini-curso ocorre em 4 dias (13/05 a 16/05)
• + 4h de atividade à distância
• Total = 20h
• PRESENÇA: É necessário 75% de presença
• Ou seja, comparecer a pelo menos 3 dos 4 dias
• Avaliação:
Fazer uma aplicação Java para ambiente desktop* que se
integre ao Twitter, e que tenha no mínimo 3 funcionalidades.
* A aplicação exigida na avaliação foi modificada para atender aos conhecimentos (pré -requisitos)
e melhorar o aprendizado dos alunos
• A nota do aluno será composta por:
60% = aplicação desenvolvida
40% = relatório
• O relatório deve ter a seguinte composição:
Introdução
Contextualização do tema
Contextualização da aplicação
Objetivos
Descrição da aplicação
Interface (com screenshots)
Funcionalidades
• O trabalho deve ser enviado para o e-mail
• Título: “Trabalho Mini-Curso Redes Sociais”
• No e-mail devem ter 3 anexos:
projeto.zip, arquivo.jar e relatorio.pdf
• Serão aceitos envios até às 22:00 de 23/05/14
Redes Sociais
• Popularidade na mídia digital
• Surgimento de uma nova onda de aplicações na Web
• Pesquisas em diversas áreas da ciência da computação
• OSN (Online Social Networks)
Redes de profissionais
Redes de amigos
Redes para compartilhamento de conteúdos
específicos
• Mídia social
Termo usado em referência a conteúdo criado e disseminado
via interações sociais
• Em 2010, passou na frente de e-mail como a atividade
online mais popular (Nielsen Online)
• 2/3 da população mundial usa redes sociais
• Impacto no cotidiano dos indivíduos
• Mudam a forma de interação e comunicação
• Tem atraído mais pessoas para o uso de Tecnologias de
Informação e Comunicação (TICs)
• Desafio nº 4 da SBC
• Comunidades em rede: um dos domínios que se beneficiam
das pesquisas relacionadas ao rompimento das barreiras que
impedem o acesso do cidadão brasileiro ao conhecimento
• Termo utilizado para descrever um grupo de pessoas que
interagem primariamente através de qualquer mídia de
comunicação
• Emergem das práticas da interação orientadas para a partilha
e formação de grupos de interesse que estão na origem das
narrativas digitais da Sociedade do Conhecimento
• Constituídas de representações dos atores sociais e de suas
conexões (Recuero, 2009)
• Individualizadas e personalizadas
• Elementos que criam a estrutura na qual as representações
formam as redes sociais
• Essas conexões podem ser de tipos variados, construídas
pelos atores através da interação e mantidas pelos sistemas
online
• É possível ter centenas ou milhares de conexões, mantidas
pelo auxílio de ferramentas
Criar e compartilhar recursos! :)
• Metáfora utilizada para o estudo do grupo que se apropria de
um determinado sistema
• Sites de redes sociais = nova geração de espaços públicos
mediados
• Ambientes onde as pessoas podem reunir-se publicamente
através da mediação da tecnologia
• 1- Persistência: aquilo que foi dito permanece no
ciberespaço. Ou seja, as informações, uma vez publicadas,
ficam no ciberespaço
• 2- Capacidade de Busca: capacidade de permitir a busca e
permitir que os atores sociais sejam rastreados, assim como
outras informações
• 3- Replicabilidade: Aquilo que é publicado no espaço digital
pode ser replicado a qualquer momento, por qualquer
indivíduo.
Isso implica também no fato de que essas informações
são difíceis de ter sua autoria determinada;
• 4- Audiências Invisíveis: Presença de audiências nem
sempre visíveis através da participação.
Há audiências que, inclusive, poderão aparecer após a
publicação das conversações nesses grupos (por
características anteriores), que permitem que esses
grupos deixem rastros que poderão ser encontrados
depois
• Redes emergentes: Laços construídos através da
conversação entre os atores
• Redes de filiação: Manutenção da conexão realizada pelo
software ou site utilizado
Exemplo: Twitter – Redes de Seguidores
Redes muito grandes e com pouca ou nenhuma
interação entre os atores
• OBS: Essas conexões são potenciais canais de disseminação
de ideias, notícias!!!
• Grupos permanentemente conectados nos sites de redes
sociais
• Informações espalhando-se e potencialmente criando
mobilizações nesses grupos
• MICROBLOG
• Fundado em março de 2006
• Fundadores:
Jack Dorsey, Evan Williams e Biz Stone
(colegas da empresa Odeo – podcast)
• Mensagens curtas (140 carac.)
• Serviço de troca de status como um SMS
• Inicialmente foi chamado de Status
• Twitter, em inglês tem dois significados: “uma pequena
explosão de informações inconsequentes” e “pios de
pássaros”
• 140 caracteres
Não é perseguição dos criadores!
• Conceito inicial: mensagens SMS
• Mensagens curtas é o principal foco do serviço
• Inicialmente Twich = vibração
• Alguns termos importantes:
Tweet
Retweet
Trending Topics
Seguir / Seguidores
Direct Message
@ : arroba + nome do usuário
# : hashtag
• Lançada em 4 de fevereiro de 2004
• Com foco em estudantes universitários
• Promover amizade entre os estudantes
• Duas versões:
• Mark Zuckerberg teve a ideia
• Mark Zuckerberg com ajuda de 4 estudantes “pegou
emprestado” o projeto
• ATUALMENTE: Mais de um bilhão de usuários
• Vamos acompanhar a evolução ?
• 2005: Foco no perfil, sem mural
• 2006: Adição de mural com informações de amigos e
postagens do usuário
• 2008: Brasil começa a descobrir o Facebook
• Mais foco nas postagens
• 2014: Linha do tempo, desde 2011
Padrões de Projeto
• A idéia de “Padrão de Projeto” surgiu em 1977 a partir do
trabalho de Christopher Alexander
• Contexto da Arquitetura (casas e prédios)
• “Cada padrão descreve um problema que ocorre
repetidamente de novo e de novo em nosso ambiente, e
então descreve a parte central da solução para aquele
problema de uma forma que você pode usar esta solução
um milhão de vezes, sem nunca implementa-la duas vezes
da mesma forma.”
• Essa idéia foi adaptada para o desenvolvimento de software
no trabalho "Design Patterns: Elements of Reusable Object-
Oriented Software" [Gamma95]
• Designed Patterns: coleção de padrões de projeto de
software
• Os padrões ajudam a reduzir substancialmente a
complexidade do processo de design
• SINGLETON
• Criar objetos únicos, apenas uma instância
• Ponto de acesso global
• Uma classe tem apenas uma instância de si mesma
• Fornece uma forma de acesso a essa instância
• Nenhuma outra classe pode instanciá-la
• Representação do padrão
• Exemplo em Java
• FACTORY
• Encapsulam a criação de objetos
• “Um padrão que define uma interface para criar um objeto,
mas permite às classes decidirem qual classe instanciar”
• Representação do padrão
• Exemplo em Java
API
• API (Application Programming Interface)
• Em português:
Interface de Programação de Aplicativos
Twitter4J
• Biblioteca Java para API do Twitter
• 100% puro Java
• Compatível com as versões Java 5+
• Dependência zero (nenhum jar adicional)
• Compatível com a API 1.1 do Twitter
• Pode ser integrada com aplicações
Android
GAE (Google App Engine)
Sintaxe simples e fácil de usar
• Suporte ao OAuth
Protocolo OAuth
• Quem gosta de compartilhar sua senha com os outros? E se
você mudar de senha?
• Reconfigurar todos os aplicativos
• Para resolver essas limitações surgiu o protocolo OAuth
Def.: Conjunto de rotinas e padrões estabelecidos por um
software para a utilização das suas funcionalidades por
aplicativos que não pretendem envolver-se em detalhes da
implementação do software, mas apenas usar seus serviços (Wikipedia)
• Muitos sites passaram a oferecer APIs que podem ser usadas
em outras aplicações
• API acessada “em nome” de algum usuário
• É necessário um usuário autenticado
Exemplo: fornecer login e senha para twittar através de uma
aplicação
Twitter4J
• Vocês podem acessar os recursos da API do Twitter em:
http://twitter4j.org/javadoc/
Exemplos
• updateStatus(java.lang.String status)
• Retorna: Status
Envia um tweet na conta do usuário, ou seja, atualiza o
status do usuário
• sendDirectMessage(java.lang.String
screenName, java.lang.String text)
• Retorna: DirectMessage
Envia uma nova mensagem direta para o usuário
especificado
• sendDirectMessage(long userId, java.lang.String text)
• Retorna: DirectMessage
Envia uma nova mensagem direta para o usuário
especificado
• createFriendship(java.lang.String screenName)
• Retorna: User
Permite seguir um usuário especificado
• destroyFriendship(java.lang.String
screenName)
• Retorna: User
Permite deixar de seguir um usuário especificado
Passo-a-Passo
• 1º : Registrar sua aplicação
• 2º : Modificar permissões
• 3º : Obter consumer key e consumer secret
• 4º : Obter access token e access secret
• 5º : Baixar os arquivos da Twitter4J
http://minicursoimd.4shared.com
twitter4j-core-4.0.1.jar
• 6º : Abrir Eclipse
• 7º : Criar um novo projeto
• 8º : Importar o .jar para o projeto
Clicar com lado direito do mouse sobre o projeto e seguir o
caminho: (Build Path > Configure Build Path)
• 9º : Mãos a obra! \o/