PDA

Ver la Versión Completa : integrando twitter en mi app


zeko3991
15/05/13, 11:06:47
Buenas, no he encontrado ningún tema sobre ésto y considero que podría ser interesante, además de que me hace falta.
Estoy desarrollando una app y quiero poner un botón para que se abra twitter (o en su defecto, el navegador) y que salga en la pantalla el botoncito de "seguir a..." y poner el usuario de twitter que yo quiera.
He buscado por google y he visto ejemplos, pero nada de lo que pretendo hacer yo (todos son para enviar tweets desde la aplicación).

Soy consciente de que igual ésto es muy básico, pero estoy empezando y hay cosas en las que estoy perdido. :risitas:

Así que eso, si alguien sabe cómo hacerlo, o simplemente por donde he de empezar se lo agradezco.

PD: si alguien pudiera mandarme una referencia decente de layouts en xml estaría eternamente agradecido, porque adaptarlos para cada resolución y que me queden similares es un suplicio.

:gracias:

kriogeN
15/05/13, 12:41:14
Puedes usar Twitter4J o JTwitter, precisamente yo ahora mismo estoy investigándolas porque me hacen falta para un proyecto.

EDITO: Acabo de hacerlo con JTwitter, y es muy muy muy muy muy sencillo de usar.

kleiser
15/05/13, 17:42:15
zeko3991 no termino de entender lo que quieres....que quieres que tu aplicación al darle a un boton te lleve a twitter directamente??

para eso pones un boton y dentro del onClick iria un intent asi:

Intent twitter = new Intent(Intent.ACTION_VIEW,Uri.parse("aqui la url del perfil al q entrar"));
startActivity(twitter)

Si lo que yo te explicado no es lo que necesitas, sigue los consejos de KriogeN que sabe muchisimo.

zeko3991
15/05/13, 18:50:16
zeko3991 no termino de entender lo que quieres....que quieres que tu aplicación al darle a un boton te lleve a twitter directamente??

para eso pones un boton y dentro del onClick iria un intent asi:

Intent twitter = new Intent(Intent.ACTION_VIEW,Uri.parse("aqui la url del perfil al q entrar"));
startActivity(twitter)

Si lo que yo te explicado no es lo que necesitas, sigue los consejos de KriogeN que sabe muchisimo.


creo que específicamente ésto es lo que busco, lo que digo, de java voy bien, pero en android estoy empezando, además que estoy empezando también a desarrollar enfocandome en una interfaz gráfica y tal, así que hay cosas en las que ando perdido. lo de jtwitter me lo guardo para más adelante que posiblemente lo usaré, muchas gracias ^^.
Lo dicho, creo que lo que busco es ésto.
Supongo que la activity twitter se referirá a la app de twitter en cuestión y que no tendré que crear ningún layout, o me equivoco?
Y en caso de ser así, si no estuviera la app de twitter tendría que abrirlo con el navegador, supongo que sería otro intent cierto?

muchas gracias, y siento si mis dudas son muy estúpidas xD.

kriogeN
15/05/13, 18:58:25
Si en el Uri pones la web de Twitter te dice si quieres abrirlo con el navegador o con el programa de Twitter. Si no está instalado Twitter directamente abre con el navegador.

Para mi caso si tenía que usar JTwitter, porque mi aplicación va a crear tweets directamente. En el caso de que tengas que usarla son 4 líneas mal contadas.

zeko3991
15/05/13, 19:37:26
Si en el Uri pones la web de Twitter te dice si quieres abrirlo con el navegador o con el programa de Twitter. Si no está instalado Twitter directamente abre con el navegador.

Para mi caso si tenía que usar JTwitter, porque mi aplicación va a crear tweets directamente. En el caso de que tengas que usarla son 4 líneas mal contadas.

Por eso, no quería integrar twitter en la app, sólo hacer un botón para que saliera una cuenta en concreto, de todas formas, me guardo lo de jtwitter, siempre es interesante saber más, el día que me haga falta crear tweets desde mi app sabré que existe, pero con esto igual que con muchas cosas, ando perdido aún, es frustrante saber el potencial que tiene pero no saber sacarle jugo, pero bueno, tiempo al tiempo.

Muchas gracias!

kleiser
15/05/13, 20:03:17
Vale me alegro que se haya resuelto tu duda!

Como dice KriogeN poniendo la web en el Uri te preguntará desde donde abrirlo y en el caso de no tener la aplicación se abrirá desde el navegador!

Si tienes algun problema con el código escribelo por aqui y si te puedo ayudar lo haré encantado...sino siempre estará kriogeN que maneja mucho en esto de android!


EDIT: me apunto yo tambien lo del JTwitter para futuros cambios o futuras app!!Gracias KriogeN

kriogeN
15/05/13, 23:58:14
jejeje, de nada a ambos. Y gracias por el crédito que me dais xDDD

set92
16/05/13, 22:56:56
Y sino es mucho preguntar porque elegistes al final jTwitter? Es que yo tuve que usar twitter para un proyecto, eleji Twitter4j que era la unica libreria de java que aparecia en Twitter developers y el lunes que la probe ya no funcionaba, igual fue porque el domingo hicieron unos cambios y estoy usando sin querer darme cuenta la API 1.0 de twitter en vez de la 1.1.... es que sinceramente yo veo la libreria pero no se como mirar los metodos, la documentacion que veo o no la se interpretar o no es muy buena, y con Facebook si que fue facil ponerlo a andar pero Twitter...no tanto.

EDIT: Y otra duda que tenia es no se puede hacer la autentificacion mediante app o asi?Es que eso de tener que mandar al usuario y que luego vuelva no creo que le guste demasiado al usuario y se queda la ventana de logeo en el navegador abierta..
Me imagino que las 4 lineas mal contadas dices estas no?
AndroidTwitterLogin atl = new AndroidTwitterLogin(myApp, MY_TWITTER_KEY,MY_TWITTER_SECRET,MY_TWITTER_CALLBA CK) {
protected void onSuccess(Twitter jtwitter, String[] tokens) {
jtwitter.setStatus("I can now post to Twitter!");
}
};
atl.run();
Pero aqui todavia faltaria el Oauth no? que yo creo que es ahi donde tengo siempre problemas.

kriogeN
16/05/13, 23:05:09
Pues precisamente escogí JTwitter en lugar de Twitter4j porque tiene un método de autenticación exclusivo para Android, que usa una WebView en una Activity en lugar de abrirte el navegador.

En cuanto a los cambios de ambas, también fue lo primero que miré, y ambas librerías en su github se actualizan casi a diario, así que ahora mismo con cualquiera de las 2 no hay problema de quedarte anticuado, en el futuro no lo se.

Luego los tokens los almacenas y los puedes reutilizar, sin tener que volver a pasar por la ventana de autenticación.

zeko3991
20/05/13, 21:48:23
Otra duda tengo.
Estoy subiendo aplicaciones a google play, y al ir a subir una actualización, me dice que no puedo subir la aplicación con el mismo version code que las que ya hay ( el 1 en este caso).
Explico:
una vez actualizada la app en eclipse, modifico el manifest y cambio el version code.

android:versionCode="2"

y firmo la aplicación con eclipse, pero una vez firmada, al subirla a google play, el mismo error, miro el manifest y, oh sorpresa, el version code es 1.

alguien que sepa qué pasa ahí?

muchas gracias.

kleiser
21/05/13, 15:55:41
imagino lo que lo estaras haciendo bien no?

Nose, es decir, estas guardando el proyecto, firmandolo con la misma firma que la que ya tienes subida y eso?

Otra cosa, le estas dando dentro de esa aplicación en el market a subir nuevo APK o estas tratando de subir la aplicación como si fuera una nueva?

Ahora mismo estoy un poco atontao y es lo único que se me ocurre.

Suerte con el problema

zeko3991
21/05/13, 19:38:43
imagino lo que lo estaras haciendo bien no?

Nose, es decir, estas guardando el proyecto, firmandolo con la misma firma que la que ya tienes subida y eso?

Otra cosa, le estas dando dentro de esa aplicación en el market a subir nuevo APK o estas tratando de subir la aplicación como si fuera una nueva?

Ahora mismo estoy un poco atontao y es lo único que se me ocurre.

Suerte con el problema

No lo sé, creo que eclipse se volvió loco, el caso es que al final me dejó.
Lo que me hacía era que cada vez que modificaba el version code y firmaba la aplicación, eclipse deshacía el cambio de versión y lo dejaba en 1 otra vez.
En google play lo subía bien, subía un nuevo apk dentro de la aplicación del market, pero como eclipse me lo firmaba con el version code "1" no me dejaba subirlo.
Reinicié eclipse y puse de nuevo el version code a 2 y probé a cambiar el version name y ponerlo como un string. (No puede ser eso, ya que tengo entendido que el único que es un entero es el version code).
El casó es que me dejó firmarla.