epelpad

El post que buscas se encuentra eliminado, pero este también te puede interesar

Desarrolle una App de Android para T!


Desarrolle una App de Android para T!

Bienvenidos a mi post!

android

Últimamente me dio la curiosidad del desarrollo de aplicaciones para Android, solo necesitaba una idea, hasta que un día navegando en Taringa vi que alguien sugirió notificaciones de Taringa en el Movil

A primera instancia suena algo tonto, pero lo vi mucho mas allá de eso (A pesar de que ya existia tal caracteristicas en la misma aplicacion de Taringa! Shouts)

app

Anteriormente ya habia desarrollado una aplicación para Android la cual te permitia enviar teclas desde tu telefono a Android

programar

Claramente esta aplicación no tuvo mas objetivo que entender como Android funcionaba, pero muy por encima!
Aun quedaba muchisimo mas por aprender, por eso es que decidi darle otra oportunidad a Android (A pesar de poseer un IPhone 5s)

notificaciones

taringa

Apartir de acá, el post puede volverse un poco técnico, si estas interesado en aprender un poco sobre programación, pues te recomiendo darle para delante, para comentar una estupidez o un meme, por favor, retírate...

extra

Cual era el objetivo?

Crear una aplicación la cual pudiese enviar notificaciones a teléfonos android y mostrar estas en la misma aplicación con el mínimo esfuerzo posible de parte de los usuarios, con una interfaz intuitiva y sencilla

Herramientas:
-Android Studio (Desarrollo de la aplicación en si)
-Postman (Cliente para simular llamadas para la API de T!)
-Photoshop (Grafícos)

Conocimientos previos del funcionamiento de Taringa!

1- Taringa se maneja con un sistema el cual utiliza llamadas POST y GET que tienen como argumento un identificador llamado Key, dicha key es fundamental para realizar casi cualquier acción
2- Cada llamada a la API que realicemos, obtendremos un http://www.adobe.com/la/products/photoshop.html, el cual se puede leer mediante una aplicación que simule tales llamadas, o simplemente desde la consola de desarrollo de Chrome
3- Las notificaciones se obtienen puramente cuando apretamos el botón al lado de nuestro perfil


JSON = Java Script Object Notation, es una cadena de texto la cual contiene una tabla de valores e información parseable para poder ser utilizada en código

Desarrolle una App de Android para T!

Manos a la obra!

Por donde comencé? Pues por estudiar el comportamiento del botón de notificaciones

android

Cada vez que presiono este botón, realizo un Request a la pagina:

app

Muy posiblemente en el caso que ingresen a tal pagina, verán un error con respecto a que el código de seguridad es invalido, eso es debido a que no tenemos un request-form correcto

Entonces nuestra primera tarea es averiguar que necesitamos!

programar

Como especifique antes, necesitábamos tal Key para poder preguntar nuestras notificaciones, es algo muy básico ya que es nuestro método de autentificacion, al menos mi pruebas con distintas cookies demostraron eso, y deseo pensar que es un error...Por ende, si ya tenemos este código, ya podemos hacer todo, desde averiguar las notificaciones, comentar un post hasta denunciar todos los posts de taringa!
Imaginen las posibilidades...Es broma, taringa tiene filtro para tales cosas y limites

Pero, como obtenemos esta key? Existe alguna pagina de API como notificaciones-ajax.php?

Lamentablemente no, pase casi una hora buscando por todos lados dentro de los JS que utiliza taringa para el *front-end, y tal como dije, solo es front-end,

*Front-End: Parte visual de la pagina, como los comentarios, posts, etc
*Back-End: Todo lo que sucede detras de la pagina, como comentar, puntear un post y seguir un usuario

Entonces lo primero que hice fue aprender del login, quise ver si mediante loguearme podia ver mi Key, todo esto utilizando el mismo metodo que hice de notificaciones-ajax.php y luego haciendo pruebas en PostMan

notificaciones

Ahi aparece mi edad, mi genero, que después de indagar un poco, descubrí que se trata de un tema de publicidad para que muestre cosas que a un hombre de 21 años puede gustarle

Seguia sin poder conseguir tal Key...

Pero mi busqueda mas alla concluyo que tal Key es asignada cada vez que abris una pagina de Taringa
Te invito a que abras la consola de desarrollador (F12), abras la pestaña consola y luego escribas

taringa

Ahi tenemos nuestra key! Es la que necesitamos para poder recibir las notificaciones, pero de donde la obtenemos? Sencillo, Taringa incrusta la key en el html cuando carga mediante PHP, de tal manera no podemos saber nuestra key

Una vez que conecte todo, empezó la hora de construir otro Front-End, el cual iba a ser la aplicación de Android

No es nada de otro mundo, todo acá es algo intuitivo

extra

Construí un login

Desarrolle una App de Android para T!

Y empece a trabajar, el login funciono tal como esperaba gracias a una fuerte y estable libreria de HTTP

Pero me encontre con un problema, que no podia hacer como chrome que escribia global_data.user_key para obtener mi key, por ende di 2 pasos atras

Y que hice? Scrapping! (Desconozco si este es el termino correcto para denominar tal situación)

Pero simplemente baje la pagina mas liviana de taringa
Y entonces busque en toda la pagina este valor:

var global_data =

Debido a que ya esta definido en el html

android

Después busco donde termina tal tabla con buscar "};"

Y listo, ya obtengo la key, la guardo en preferencias y ya no necesito loguearme mas, a pesar de que solo guardo el usuario local para poder ver la imagen mediante la "Home"

Luego de obtener la Key, todo es juego de niños, hmm...

app

Por?

programar

Convertir eso...En:

notificaciones

Fue una tarea MUY aburrida, pero gratificante al terminar y ver que es funcionar, incorporar las notificaciones fue muy sencillo luego a decir verdad, android demostró ser un sistema el cual se aprende con mucha facilidad

taringa

En fin! Trabajar en esta aplicación fue algo muy divertido, si estas interesado en aprender programación o como funciona Taringa, simplemente no te recomiendo que te claves la idea que necesitas ir a una facultad o lo que sea, todo lo que aprendi fue por mi cuenta y eso es mucho mas satisfactorio que desperdiciar mi tiempo en aprendiendo Haskell:

Lo logre y no tuve que recibir ayuda de nadie (?

extra

@manolo12 @kuruzka @herni

FAQ:

Cual era tu intención principal al desarrollar esta APP
Obtener un conocimiento extra para mi Portfolio

Cuanto tiempo te tomo desarrollar la APP a su estado 100% funcional
1 semana

Vas a publicar la aplicación?
No veo porque debería, no estoy afiliado con Taringa y esta aplicación fue con fines de educación propia

Podría echarle un ojo al código fuente?
Claro, seria un placer compartir mis conocimientos, mandame un MP

Hay algo que te gustaría cambiar en Taringa?
Si, ayudar a los usuarios que estén interesado en jugar con la pagina para aprender, brindarles una mano con el tema de las API que vuelan por ahí

Que tengan buenas tardes, espero que disfruten del post

Si te interesa quitar la politica de la home
Si te interesa algunos chiches nuevos para los shouts

6 comentarios - Desarrolle una App de Android para T!

cobbalt
Yo fui su sujeto de prueba!
Mr_Riff
puede darme dinero?
gonzalolog
@Mr_Riff No, ya esta en la aplicacion de shouts
Ni para pedirles trabajo estoy jajaja
Mr_Riff
@gonzalolog no tendrian como pagarte
gonzalolog
@Mr_Riff Claaaro
matutext +1
Muy bueno che! Felicitaciones y van 5. No tengo mas