Esta era la versión antigua de Talon para Twitter. Desde entonces, abrí la versión Material Design de la aplicación. Todas las contribuciones futuras irán a esa versión. Esta versión clásica debe considerarse "obsoleta", pero el proyecto permanecerá activo, para cualquiera que quiera revisarlo.
La nueva versión de Talon se puede encontrar aquí: https://github.com/klinker24/talon-twitter-material
Esta es la versión completa del cliente de Twitter que creé para Android. Es 100% de código abierto, lo único que tendrás que hacer son tus propias claves API.
Hice la mayor parte de esta aplicación cuando tenía 19 años, con una clase de Java en la escuela secundaria y la mitad de una en la universidad, y se nota en algunos lugares. Sé que no es el código más bonito que jamás hayas visto, pero funciona, ¡y funciona bastante bien! Así que no juzgues demasiado el código, definitivamente mejoró con el tiempo :)
A partir de ahora, no tiene demasiados comentarios, la mayor parte es bastante fácil de entender si simplemente investigas por un tiempo, pero a medida que pase el tiempo, lo revisaré e intentaré comentar más.
Hay algunas cosas bastante interesantes en esta aplicación, no sólo relacionadas con Twitter. Alguien que mire esto puede obtener un resumen completo de cosas como:
Siéntete libre de usar esto como recurso para ese tipo de cosas, esa es una de las razones por las que quería abrirlo en primer lugar. Hay mucho que aprender de un gran proyecto como este, y creo que eso es muy importante en el siempre cambiante mundo de Android.
Sin embargo, le pido que no redistribuya esta aplicación para su propio beneficio. Si creas una compilación y quieres compartirla con la gente, genial, para eso debería ser. Sin embargo, no les cobre por esa construcción. He pasado un año duro creando este proyecto y esto es lo que te pido si eliges hacerlo tú mismo.
No intente compilarlo como una compilación ANT. Te lo ruego, solo usa Android Studio o IntelliJ y compílalo con Gradle. Le hará la vida mucho más fácil y no responderé preguntas sobre dependencias ni compilación para Eclipse. Pasamos mucho tiempo cambiando todos nuestros proyectos a Gradle y quiero que ayude a algunas personas.
Para compilarlo:
git clone <clone URL>
./gradlew assembleDebug
Para obtener su clave API de Twitter, siga estos pasos:
En el archivo .gitignore
, ignoré secrets.properties
que debería contener sus claves. Continúe, copie secrets.properties.sample
en secrets.properties
y complete las claves que contiene.
Esto me permite mantener las claves fuera del control de código fuente, pero aun así crear la aplicación sin ningún problema.
Para versiones de lanzamiento, agregue su almacén de claves simplemente como keystore
a la raíz del proyecto, luego agregue un archivo keystore.properties
a la raíz con (¡sin comillas alrededor de estas cadenas!):
KEY_SIGNATURE=xxxx
KEY_ALIAS=xxxx
Una de las razones por las que decidí abrir el código fuente no fue solo porque la gente podría aprender de él. Yo también necesito ayuda. Hay cosas que simplemente no sé cómo hacer mejor. Todavía no tengo experiencia ni conocimiento para comprender qué les está yendo mal o por qué fallan aleatoriamente para algunas personas.
He hecho lo mejor que he podido con esta aplicación, pero cuantas más mentes trabajen en ella, mejor. Lo más probable es que, si estás aquí y lees el archivo Léame, tengas mucha más experiencia en programación que yo y sepas cómo se pueden mejorar las cosas.
Si crees que se podría hacer algo mejor, dímelo. No estoy diciendo que estaré de acuerdo contigo en esto o que alguna vez será como crees que debería ser, pero no está de más preguntar.
No hay mucho más que tengo que decir sobre esto. He dedicado mucho tiempo y esfuerzo a este proyecto y realmente espero que ayude a alguien. Da el salto, prueba algo que nunca antes hayas hecho, mira qué puedes aprender de mí y de mis errores.
Déjame saber si tienes preguntas y las responderé lo mejor que pueda.
¡Gracias y diviértete con Talon!
Luke Klinker (desarrollador líder de aplicaciones Klinker)
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.