Esta era a versão antiga do Talon para Twitter. Desde então, abri o código-fonte da versão Material Design do aplicativo. Todas as contribuições futuras irão para essa versão. Esta versão clássica deve ser considerada "obsoleta", mas o projeto permanecerá ativo, para quem quiser dar uma olhada.
A nova versão do Talon pode ser encontrada aqui: https://github.com/klinker24/talon-twitter-material
Esta é a versão completa do cliente Twitter que criei para Android. É 100% de código aberto, a única coisa que você precisará fazer são suas próprias chaves de API.
Fiz a maior parte deste aplicativo quando tinha 19 anos, com uma aula de java no ensino médio e metade na faculdade, e você pode perceber em alguns lugares. Eu sei que não é o código mais bonito que você já viu, mas funciona, e funciona muito bem! Portanto, não julgue muito o código, ele definitivamente melhorou com o tempo :)
No momento, ele não tem muitos comentários, a maior parte é muito fácil de entender se você apenas cavar um pouco, mas com o passar do tempo, irei analisar e tentar comentar mais.
Há algumas coisas muito legais neste aplicativo, não apenas relacionadas ao Twitter. Alguém olhando para isso pode obter um resumo completo de coisas como:
Sinta-se à vontade para usar isso como um recurso para esse tipo de coisa, essa é uma das razões pelas quais eu quis abrir o código-fonte em primeiro lugar. Há muito o que aprender com um grande projeto como esse, e acho que isso é muito importante no mundo em constante mudança do Android.
Peço que você não redistribua este aplicativo para seu próprio ganho. Se você faz uma construção e quer compartilhá-la com as pessoas, ótimo, é para isso que deveria servir. Porém, não os cobre por essa construção. Passei um ano difícil criando este projeto e é isso que pergunto se você decidir fazer você mesmo.
Por favor, não tente compilá-lo como uma compilação ANT. Eu imploro, basta usar o Android Studio ou IntelliJ e compilá-lo com Gradle. Isso tornará sua vida muito mais fácil e não responderei perguntas sobre dependências e compilação para Eclipse. Passamos muito tempo mudando todos os nossos projetos para Gradle e quero que isso ajude algumas pessoas.
Para compilá-lo:
git clone <clone URL>
./gradlew assembleDebug
Para obter sua chave de API do Twitter, siga estas etapas:
No arquivo .gitignore
, ignorei secrets.properties
que deveria conter suas chaves. Vá em frente, copie secrets.properties.sample
para secrets.properties
e preencha as chaves nele.
Isso me permite manter as chaves fora do controle de origem, mas ainda construir o aplicativo sem complicações.
Para compilações de lançamento, adicione seu keystore simplesmente como keystore
à raiz do projeto e, em seguida, adicione um arquivo keystore.properties
à raiz com (sem aspas ao redor dessas strings!):
KEY_SIGNATURE=xxxx
KEY_ALIAS=xxxx
Uma das razões pelas quais decidi abrir o código não foi apenas porque as pessoas poderiam aprender com ele. Eu também preciso de ajuda. Há algumas coisas que simplesmente não sei como fazer melhor. Ainda não tenho experiência ou conhecimento para entender o que está errado com eles ou por que falham aleatoriamente para algumas pessoas.
Fiz o melhor que pude com este aplicativo, mas quanto mais mentes trabalharem nele, melhor. Provavelmente, se você está aqui e realmente lendo o leia-me, você tem muito mais experiência em programação do que eu e sabe como as coisas podem ser melhoradas.
Se você acha que algo poderia ser feito melhor, diga-me. Não estou dizendo que concordarei com você sobre isso ou que algum dia será do jeito que você acha que deveria ser, mas não há mal nenhum em perguntar.
Não há muito mais que eu tenha a dizer sobre isso. Coloquei muito tempo e esforço neste projeto e realmente espero que isso ajude alguém por aí. Dê o salto, tente algo que você nunca fez antes, veja o que você pode aprender comigo e com meus erros.
Deixe-me saber se você tiver dúvidas e eu responderei da melhor maneira possível.
Obrigado e divirta-se com Talon!
Luke Klinker (desenvolvedor líder do Klinker Apps)
Copyright 2014 Luke Klinker
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.