elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Python (Moderador: Danielㅤ)
| | |-+  [Python-Android]Algunas cosas para empezar - JaAViEr(0x5d)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python-Android]Algunas cosas para empezar - JaAViEr(0x5d)  (Leído 3,015 veces)
0x5d

Desconectado Desconectado

Mensajes: 241



Ver Perfil WWW
[Python-Android]Algunas cosas para empezar - JaAViEr(0x5d)
« en: 29 Diciembre 2011, 08:14 am »

Hola. ¡Buenos días a todos !

  En esta oportunidad le dedicaré algo de tiempo y espacio en el blog a la programación de 'aplicaciones' para Android en lenguaje Python, si bien no les explicaré como funciona ni mucho menos, les dejaré algunas funciones para que ustedes quizás puedan expandir y desarrollar algo.
  
  Bueno, antes que todo, debemos instalar la aplicación SL4A, que la encontraremos acá en su página oficial , yo uso el sl4a_r4.apk en el tablet y luego desde el mismo sitio web bajamos el Python For Android.


  En todo código que programemos en nuestro Android, debemos importar la librería Android y crear el objeto para utilizar la API:
Código
  1. import android
  2. droid = android.Android()
  3.  
OJO que eso es solo si pretendes programar aplicaciones con funciones internas de tu Android, ya sea Cámara, WiFi, Contactos, etc.

 Bueno, veamos algo sencillo, crear el típico alerta con un titulo y mensaje personalizado, para lo que usaremos droid.dialogCreateAlert('Titulo','Mensaje' )
, pero para este ser mostrado debemos utilizar droid.dialogShow():
Código
  1. import android
  2. droid = android.Android()
  3. droid.dialogCreateAlert('Titulo','Mensaje')
  4. droid.dialogShow()
  5.  


  Otra cosa bien sencilla sería pedir datos por GetInput mediante otro cuadro de dialogo, el código es sencillo igualmente:
Código
  1. import android
  2. droid = android.Android()
  3. variable = droid.dialogGetInput('TITULO','INSERTE DATOS:').result
  4.  

Ojo, debemos poner .result o nos devolverá el resultado junto a otros datos, como tenemos ya nuestros datos en 'variable' , luego podemos mostrar lo insertado vía Cuadro de Alerta o vía print.
En caso de querer mostrar el resultado vía Alerta:
Código
  1. import android
  2. droid = android.Android()
  3. variable = droid.dialogGetInput('DATOS','Tu nombre:').result
  4. droid.dialogCreateAlert('Muestra Datos','Tu nombre es %s'%variable)
  5. droid.dialogShow()
  6.  
La cual nos pedirá un nombre y posteriormente lo mostrará en un Alerta.

  Otra cosa entre comillas interesante, es la posibilidad de añadir un DatePicker, bueno si no sabes que es, es un cuadro que nos permite buscar fechas de manera más 'cómodas', ahora, veamos como aplicarlo en Python - Android. Para llamar al DatePicker, debemos crearlo antes, mediante droid.dialogCreateDatePicker([Año inicio], [Mes], [Día]) Y para mostrarlo, lo mismo de antes, droid.dialogShow(). Bien, veamos el código:
Código
  1. import android
  2. droid = android.Android()
  3. fecha = droid.dialogCreateDatePicker(1970, 1, 1)
  4. droid.dialogShow()
  5.  
Paso a explicar esto un poco, almacenamos el DatePicker en la variable 'fecha', pero que sucede si hacemos un print fecha, como queriendo mostrar el resultado ? Pues no devolverá nada, pues para esta situación debemos de utilizar droid.dialogGetResponse().result, lo que insertaremos en una variable llamada 'respuesta', de esta manera:
Código
  1. respuesta = droid.dialogGetResponse().result
  2. print respuesta
  3.  
bien, veamos que nos dice el print respuesta:
[text]
{u'year':1970, u'day':1, u'wich': u'positive', u'month':1}
[/text]
Entonces, si solo queremos tomar el año o fecha o día o lo que sea, debemos hacer nada más que añadir:
Código
  1. print respuesta['year']
  2.  
['year'] ['day'] ['which'] ['mont']

  Bueno, creo que no es necesario mostrar lo siguiente, pero nunca está de más .__. hablo sobre hacer que el celular vibre:
Código
  1. import android
  2. droid = android.Android()
  3. droid.vibrate(2000)
  4.  
 Se maneja por ms, por lo que 2000ms = 2s.
Bueno, eso era una pasadita rápida nada más :P
  Aprovechando eso, también pondré la manera de obtener el volumen máximo del timbre, como es algo sencillo solo dejo el código:
Código
  1. import android
  2. droid = android.Android()
  3. max = droid.getMaxRingerVolume().result
  4. print "Tope del volumen:", max
  5.  
Otra sencillez más, es mostrar lo que hay en el ClipBoard:
Código
  1. import android
  2. droid = android.Android()
  3. contenido = droid.getClipboard().result
  4. print "Contenido del clipboard:", contenido
  5.  

  Bueno, ya veamos algo quizás más 'útil', como lo son los botones, lo bueno de esto, es que en Android podemos personalizar el texto de los botones de : Si , No , Cancelar

Antes de dar paso a la creación de los botones, antes debemos crear un  dialogCreateAlert('TITULO','MENSAJE' ).
Bueno, al grano, un ejemplo en código:
Código
  1. import android
  2. droid = android.Android()
  3. crear_alerta = droid.dialogCreateAlert('Titulo','Mensaje')
  4. boton_no = droid.dialogSetNegativeButtonText('NO!')
  5. boton_si = droid.dialogSetPositiveButtonText('SI!')
  6. boton_cancelar = droid.dialogSetNeutralButtonText('CANCELAR!')
  7. droid.dialogShow()
  8. respuesta = droid.dialogGetResponse().result
  9. print respuesta
  10.  

Si das clic en el boton NO!, la respuesta será :
[text]
{u'wich':u'negative'}
[/text]
Si das en SI! devolverá 'positive', y en caso de ser CANCELAR! devolverá 'neutral'.
Dejaré un ejemplo de uso bien básico.

Código:
Código
  1. import android
  2. droid = android.Android()
  3. crear_alerta = droid.dialogCreateAlert('Encuesta','Te gusta rootcodes.com?')
  4. boton_no = droid.dialogSetNegativeButtonText('No me gusta')
  5. boton_si = droid.dialogSetPositiveButtonText('Si, me gusta')
  6. boton_cancelar = droid.dialogSetNeutralButtonText('Yo no voto!')
  7. droid.dialogShow()
  8. respuesta = droid.dialogGetResponse().result
  9. if respuesta['which']=='positive':
  10.  droid.dialogCreateAlert('Gracias por tu voto','Me alegra que te guste!')
  11. elif respuesta['which']=='negative':
  12.  droid.dialogCreateAlert('Gracias por tu voto','Una lastima que no te guste!')
  13. else:
  14.  droid.dialogCreateAlert('Gracias por tu voto','Un voto nulo :\\')
  15. droid.dialogShow()
  16.  
Por lo que dependerá del botón que presionemos la respuesta
Bueno, el sueño me la está ganando, así que mañana continúo y actualizo el post !

Fuente: http://rootcodes.com/python-androidalgunas-funciones-basicas/

Saludos !


En línea

Chocala

Desconectado Desconectado

Mensajes: 14



Ver Perfil
Re: [Python-Android]Algunas cosas para empezar - JaAViEr(0x5d)
« Respuesta #1 en: 30 Diciembre 2011, 14:39 pm »

Muchas gacias por la información.
Se agradece que haya gente como tu, explicando cosas sencillas pero bastante utiles sin que nadie te lo pida.
Un saludo.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python]Localizador IP - JaAViEr(0x5d)
Python
0x5d 2 3,627 Último mensaje 30 Diciembre 2011, 15:11 pm
por Novlucker
[Código-Python-Android]Calculadora por secuencia - JaAViEr(0x5d)
Scripting
0x5d 0 3,405 Último mensaje 27 Diciembre 2011, 02:22 am
por 0x5d
[Python] Enviar peticiones POST a sitios Webs. - JaAViEr (0x5d)
Python
0x5d 3 4,447 Último mensaje 9 Febrero 2012, 21:02 pm
por 0x5d
[Python]Técnicas para reducir código JaAViEr|0x5d
Python
0x5d 0 2,303 Último mensaje 26 Abril 2012, 23:01 pm
por 0x5d
Busco una guía de Android para empezar.
Programación General
NikNitro! 3 2,328 Último mensaje 26 Junio 2013, 23:03 pm
por NikNitro!
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines