Page 1 of 3 123 LastLast
Results 1 to 15 of 35
  1. #1
    Taurnil's Avatar
    offline Call Me THE Mobile Modder
    Join Date
    Nov 2007
    Location
    Bogotá
    Posts
    2,342
    Thanks
    497
    Thanked 771 Times in 303 Posts
    Downloads
    0
    Uploads
    0

    [Guia] Scripts con Interfaz de Usuario nativa desde Bash

    Hola.

    ---- Aclaración -----
    Este thread va en la sección de avanzados porque, de hecho, no es para todo mundo.

    Doy por hecho que ya:
    • Haces telnet
    • Te mueves por entre los archivos del celular en telnet y Samba
    • Conoces Bash -al menos lo básico-
    • Haces -o al menos modificas- scripts, siendo consciente de lo que haces
    • Has leído la guía de Creación de Scripts en Bash y MPKG


    Bien, habiendo hecho esta advertencia, espero que el thread no se llene con spam tipo "para qué es esto?" o "de qué me sirve", porque esto que estoy colocando acá es información valiosa sólo para quien sabe apreciarla

    ----------

    Como sabemos, por ahi va rodando una versión libre del SDK para desarrollar aplicaciones C/C++ en linux para el E2. Gracias a este SDK ha sido posible la creación de un juego de aplicaciones/ejecutables que nos permiten generar desde scripts/BASH todo un conjunto de controles y de elementos de interfaz gráfica de usuario usando los recursos nativos del celular.

    Cuando salió el SDK envié un correo a Lasly (quien lo liberó/rotó/compartió/crackeo/plagió, como quieran llamarlo) pidiéndole información, y de ser posible, un paquete de ejecutables para generar UI desde bash. Afortunadamente me respondió y de forma muy amable me envió los archivos que le pedía y unas instrucciones para usarlas (-algo incompletas e incluso erradas ya que al parecer su inglés es igual de malo al mío o tal vez peor xD) a partir de las cuales he podido hacer las aplicaciones que han visto, y las aplicaciones en las que estoy trabajando. Desde ya les digo que ese paquete está adjunto al final de este post .

    Las funciones son las siguientes:

    showColorPicker: Selector de Color
    showDatePicker: Selector de Fecha
    showMultiSelect: Listas con selección Múltiple
    showNotify: Mensaje emergente de Notificación
    showNumPicker: Selector de Número
    showProcess: Barra de Progreso
    showQ: Mensaje Emergente con botón "OK/Aceptar" o Pregunta "Si o No"
    showRadio: Lista de selección Única o de Botones tipo Radio (Activas sólo uno de ellos)
    showTextEntry: Mensaje emergente de ingreso de texto
    showTimePicker: Selector de Hora

    A continuación procederé a hablarles lo que he logrado aprender y descubrir sobre el manejo de estas instrucciones y su correspondiente resultado.
    Pero como ODIO los google ADS sobre todo cuando se paran en una columna propia desperdiciando espacio, postearé los contenidos en el siguiente post disponible

    Link al paquete Show* También lo adjunté usando la herramienta del foro.
    Attached Files Attached Files
    Last edited by Taurnil; 06-22-2007 at 09:50 AM. Reason: agregando información
    Motorola Atrix 4G :P

  2. 15 Users Say Thank You to Taurnil For This Useful Post

    ==hisshiiis== (01-12-2011), argensis (11-26-2007), arternauta (12-03-2007), Av3LaR (10-24-2008), chekfokiu (11-11-2008), darkalien (07-16-2007), darkquicksilver (10-15-2008), Deadly Nightmare (12-30-2010), fabri (12-05-2007), GIUDECCA (06-18-2011), MartinV (07-06-2007), metroyz (04-21-2010), negrostmthws (10-14-2008), Snaycko (12-26-2007), tatitto_007 (07-28-2010)

  3. #2
    Taurnil's Avatar
    offline Call Me THE Mobile Modder
    Join Date
    Nov 2007
    Location
    Bogotá
    Posts
    2,342
    Thanks
    497
    Thanked 771 Times in 303 Posts
    Downloads
    0
    Uploads
    0
    showColorPicker

    Según las instrucciones de Lasly podía partir de cualquier color hacia blanco, pero no he logrado hacerlo por más que lo he intentado. Lasly me dió su número de ICQ pero no he podido contactarle, como uds saben beijing está a GMT+7 y yo a GMT-5 así que la diferencia horaria es brava xD... en fin


    showColorPicker devuelve el color elegido por printf. Así que si queremos capturar ese color en una variable, debemos hacer
    mi_color=$(./showColorPicker) # o
    mi_color=`./showColorPicker` # ojo que son comillas inversas o tildes inversas
    de esta forma el color se almacenará en formato HEXADECIMAL en la variable "mi_color", tal y como sale en el selector -pero sin el caracter "#" -. En el caso del ejemplo que pueden ver, el valor a retornar sería "777777". Si el usuario CANCELA la elección de fecha, el valor a retornar será vacio. En el ejemplo, la variable mi_color contendría "" osea nada.


    showDatePicker


    Presenta un selector de Fecha, con la posibilidad de abrir el calendario para elegirla, o especificarla elemento a elemento.
    mi_fecha=$(showDatePicker AAAA MM DD) # o bien
    mi_fecha=`showDatePicker AAAA MM DD`
    Hacen que aparezca el selector con la fecha que queramos. En el caso del ejemplo, lo llamé usando "showdatepicker 1986 03 11" (mi fecha de nacimiento xD).
    Si lo llamamos sin argumentos adicionales (sin una fecha), aparecerá con la fecha actual por defecto.
    El valor a retornar, es la fecha elegida por el usuario, en el formato AAAAMMDD, que en el caso del ejemplo sería 19860311. Si el usuario CANCELA la elección de fecha, el valor a retornar será vacio. En el ejemplo, la variable mi_fecha contendría "" osea nada.


    showMultiSelect


    Esta es una herramienta poderosa para crear listas de selección múltiple. El formato para llamarla es
    mis_selecciones=showMultiSelect "Titulo de la Ventana" "Texto informativo" "opcion" MARCADO "opcion" MARCADO "opcion" MARCADO
    el parámetro MARCADO es un número, 0 o 1, de forma que salga marcada la opción que le precede por defecto apenas carga la ventana.
    Para generar el ejemplo que podemos ver, tuve que hacer:
    showMultiSelect "Titulo de la Ventana" "Texto informativo" "opcion1" 0 "opcion2" 1 "opcion3" 0
    La forma en la que esta aplicación retorna los valores elegidos es a partir de la posición de las opciones elegidas.
    En el ejemplo, si el usuario eligiese todas las opciones, la variable mis elecciones contendría
    001
    002
    003
    Que corresponde a los índices de las opciones seleccionadas por el usuario. Estas pueden procesarse o interpretarse usando ciclos for, o como el scripter guste
    Por el contrario, si no elige ninguna opción o simplemente cancela, la variable mis elecciones no tendrá contenido alguno, estará vacía.


    showNotify


    Este es facil de usar. El mensaje de notificación dura aproximadamente un segundo, o bien se cierra antes si el usuario hace "click" con el joystick estando ella visible. Dada su naturaleza, no retorna valor alguno.
    El ejemplo en pantalla se genera haciendo:
    showNotify "Titulo" "Mensaje: Hola Mundo"
    Simple, no?


    showNumPicker


    Mediante este ejecutable podremos mostrar un selector numérico, con un rango especificable, de la siguiente forma:
    numero_elegido=$(showNumPicker $MIN $MAX $VALOR) # o bien
    numero_elegido=`showNumPicker $MIN $MAX $VALOR`
    donde $MIN, $MAX y $VALOR, corresponden, respectivamente a los valores MINIMO, MÁXIMO y al VALOR mostrado al iniciar la ventana. Gracias a MIN y MAX podemos especificar un rango válido de entrada. Por ejemplo, en el nuevo snapshots -que pronto postearé- limito el rango de fotos entre 3 y 20 mediante estos parámetros.
    Para generar el ejemplo en pantalla, se hace
    showNumPicker 1 10 6
    Esto limita el rango a los números entre 1 y 10 (incluyéndolos, o sea, valores mayores o iguales a 1 y menores o iguales a 10).
    El valor a retornar y almacenar en la variable es el número elegido por el usuario. Si este cancela, la variable contendrá la palabra "Cancel!".


    showProcess


    Mediante este ejecutable podremos mostrar una barra de progreso o más bien de espera (porque simplemente corre, no muestra el progreso 'real' del proceso especificado). Su uso es el siguiente:
    showProcess "sleep 5" "$PROCESO" "$TITULO" "$MENSAJE"
    Donde $TITULO y $MENSAJE corresponden, respectivamente, al título de la ventana emergente y al texto que aparece sobre la barra.
    $PROCESO es el comando (o ruta del script) que quieres ejecutar al mismo tiempo que muestras la barra. La ventana emergente se cierra cuando este comando/script/proceso se complete.
    En el caso del ejemplo, se hizo usando:
    showProcess "sleep 5" "Titulo de la Ventana" "por favor espere "
    Se que es medio tricky pero igual hace que tus scripts se vean más "pro"


    showQ


    Este ya es todo un clásico... tiene dos modos de funcionamiento: mensaje y pregunta.
    Comenzaré explicando el modo de mensaje:
    Basándome de una vez en el ejemplo, lo llamas haciendo
    showQ "Titulo de la Ventana" "mensaje" 2
    ojo con el 2, es vital para que aparezca como mensaje, para que salga solo el botón Aceptar/OK.

    Ahora viene el modo de pregunta:
    Basándome de una vez en el ejemplo, lo llamas haciendo
    showQ "Titulo de la Ventana" "pregunta?" 1
    Si el usuario elige Si, la variable $? contendrá la respuesta: 1
    Si el usuario elige No o cancela, la variable $? contiene la respuesta: 0
    asi que podemos hacer
    showQ "titulo" "pregunta" 1
    respuesta=$?
    if [ $respuesta = "1" ]; then
    # CODIGO SI EL USUARIO ELIGE "SI"
    else
    # CODIGO SI EL USUARIO ELIGE "NO"
    fi
    o también podemos hacer
    showQ "titulo" "pregunta" 1 || {
    # CODIGO SI EL USUARIO ELIGE "SI"
    **
    en este último caso si el usuario elige "NO", simplemente se omiten los pasos encerrados por las llaves. Recuerden que la llave para cerrar (la compañera de " { ") es convertida por ** por la plataforma del foro ¬¬'


    showRadio


    Este nos ofrece una lista de clásicos Radio Buttons, o mejor dicho, una lista de selección única. Para mostrarla usamos
    eleccion=showRadio "Titulo" "Mensaje" "opcion1" "opcion2" "opcion3" .... "opcion-n"
    y nos devuelve, en la variable "eleccion" el índice del ítem que el usuario eligió. En el caso del ejemplo, nos devolverá 1, 2, o 3 según la opción, y 0 si el usuario canceló. Este valor quedará almacenado en la variable "eleccion".


    showTextEntry


    Ahora podemos pedirle alguna entrada de texto al usuario. También podemos pedirle una entrada de texto en modo contraseña.
    El modo de uso es:
    texto=showTextEntry $MODO $TITULO $MENSAJE
    en donde $MODO vale 0 para el modo de entrada de texto normal, y 1 para el modo de contraseñas.
    $TITULO y $MENSAJE obviamente corresponden al título de la ventana y al mensaje a mostrar sobre la textbox.
    El texto que el usuario ingrese sea almacenará en la variable que se elija, en este caso, en "texto". Si el usuario cancela o no ingresa texto alguno y acepta, la variable quedará vacía.
    Este ejecutable ya viene incorporado en la nueva versión de hidefolders, con password protection

    showTimePicker


    Por último, este ejecutable nos permite pedirle una hora al usuario. Se usa de esta forma
    hora=showTimePicker $HH $MM
    Donde $HH y $MM corresponden a la hora y minutos que queremos mostrar inicialmente, en formato militar (24 Horas). Si no colocamos estos parámetros, showTimePicker asumirá y mostrará la hora actual. Este programa devuelve la hora en formato HHMM y en el caso del ejemplo lo almacena en la variable "hora". Si se almacenara la hora del ejemplo, la variable almacenaría el valor 1205.

    pfff... casi no acabo... creo que soy fanático de los post largos xD
    Last edited by Mr.Parkin; 11-21-2011 at 04:04 PM. Reason: NO TENGO PORQUE EXPLICARTE, JODER! ¬¬'
    Motorola Atrix 4G :P

  4. 16 Users Say Thank You to Taurnil For This Useful Post

    ==hisshiiis== (01-12-2011), adriangatillo (06-23-2007), Av3LaR (11-25-2008), Deadly Nightmare (12-30-2010), fabri (12-05-2007), GIUDECCA (06-18-2011), JoRgrOckErO (05-03-2011), metroyz (10-30-2009), morpheus_mtx (02-15-2010), Mr.Parkin (11-21-2011), newbier (06-22-2007), OCM (08-06-2009), spongebob1981 (10-02-2007), tatitto_007 (07-28-2010), tramnet (11-06-2008), _X_ (06-23-2007)

  5. #3
    steel00's Avatar
    offline Skilfull Modder
    Join Date
    May 2007
    Location
    Lima, Peruvian!!!
    Posts
    927
    Thanks
    68
    Thanked 108 Times in 66 Posts
    Downloads
    12
    Uploads
    0
    gracias taurnil por toda la info.... solo una pregunta que el celular no trae los codigos binarios que pusiste para bajar en el primer post... por lo tanto que se hace se empaquetan esos archivos en un mpkg no?
    saludos
    y felicitaciones otra vez por el posta muy interesante
    Representando a Perú en el bash!!! :P


    PM SOLO PARA MODDING!!! NADA DE WAREZ!!!

  6. #4
    Taurnil's Avatar
    offline Call Me THE Mobile Modder
    Join Date
    Nov 2007
    Location
    Bogotá
    Posts
    2,342
    Thanks
    497
    Thanked 771 Times in 303 Posts
    Downloads
    0
    Uploads
    0
    Si, como no los trae debes meterlos en la misma carpeta del mpkg.
    por tanto al ejecutarlos debes asegurarte de ponerlos en dar la ruta adecuada. Pero eso ya es scripting. Y está por fuera de los alcances de este thread
    Motorola Atrix 4G :P

  7. #5
    _X_
    offline So I Hear You Can Mod
    Join Date
    May 2007
    Posts
    120
    Thanks
    7
    Thanked 5 Times in 5 Posts
    Downloads
    28
    Uploads
    0
    muuy muuuy bueno.. pero haora estoy mas emosionado cn perl :P
    d a poco esto se pone bueeeeno!!

  8. #6
    adriangatillo's Avatar
    offline Retired Moderator
    Join Date
    Nov 2006
    Location
    méxico tepotz... in the middle of nowhere
    Posts
    3,773
    Thanks
    253
    Thanked 929 Times in 332 Posts
    Downloads
    116
    Uploads
    17
    santa maría.....


    oie me explicas pk editaste tu thread?

    sticky....

    no escribiste tanto en vano...
    Last edited by adriangatillo; 06-23-2007 at 10:52 PM. Reason: Automerged Doublepost
    ROKR E2... Stolen modded to hell
    MAXX V6 USB Kissed of Death
    branded


    [B]ZN5!!! Take a Picture



    Katze HAPPY MODDING

  9. #7
    steel00's Avatar
    offline Skilfull Modder
    Join Date
    May 2007
    Location
    Lima, Peruvian!!!
    Posts
    927
    Thanks
    68
    Thanked 108 Times in 66 Posts
    Downloads
    12
    Uploads
    0
    ok... solo tenia esa duda... weno en fin muy wnea la guia.. ya la toy utilizando
    saludos
    Representando a Perú en el bash!!! :P


    PM SOLO PARA MODDING!!! NADA DE WAREZ!!!

  10. #8
    offline Itty Bitty Modder
    Join Date
    Feb 2007
    Location
    Tabasco City
    Posts
    7
    Thanks
    0
    Thanked 1 Time in 1 Post
    Downloads
    111
    Uploads
    0
    Oye que buena onda, mira yo lo baje el MP Conge en chino, ahi trae todas esas opciones y otras mas,pero que bueno que lo tienes en ingles o español.

  11. #9
    Taurnil's Avatar
    offline Call Me THE Mobile Modder
    Join Date
    Nov 2007
    Location
    Bogotá
    Posts
    2,342
    Thanks
    497
    Thanked 771 Times in 303 Posts
    Downloads
    0
    Uploads
    0
    oie me explicas pk editaste tu thread?

    sticky....

    no escribiste tanto en vano...
    __________________
    Me preguntas a mi? hmm... ortografía
    gracias por hacerlo sticky ^^
    Motorola Atrix 4G :P

  12. The Following User Says Thank You to Taurnil For This Useful Post:

    tramnet (08-28-2008)

  13. #10
    adriangatillo's Avatar
    offline Retired Moderator
    Join Date
    Nov 2006
    Location
    méxico tepotz... in the middle of nowhere
    Posts
    3,773
    Thanks
    253
    Thanked 929 Times in 332 Posts
    Downloads
    116
    Uploads
    17
    Last edited by Taurnil : 06-22-2007 at 12:55 PM. Reason: NO TENGO PORQUE EXPLICARTE, JODER! ¬¬'
    lo preguntaba por eso :P

    ni me digas de la ortografía u_u

    perdón... ortojrafyá
    Last edited by adriangatillo; 06-25-2007 at 04:27 PM. Reason: Automerged Doublepost
    ROKR E2... Stolen modded to hell
    MAXX V6 USB Kissed of Death
    branded


    [B]ZN5!!! Take a Picture



    Katze HAPPY MODDING

  14. #11
    abraxas's Avatar
    offline So I Hear You Can Mod
    Join Date
    Dec 2006
    Posts
    208
    Thanks
    5
    Thanked 43 Times in 25 Posts
    Downloads
    337
    Uploads
    0
    buen enpuje para crear aplic, en el 48 ultimate creo que trae todas la librerias y una basica explicacion del funcionamiento de cada una, pero sin duda esta es la mejor.
    ¤+Åb®åxå§+¤ - Abraxas es el sol y, a la vez, el abismo eternamente arrollador del Vacío, del Diablo.

  15. #12
    steel00's Avatar
    offline Skilfull Modder
    Join Date
    May 2007
    Location
    Lima, Peruvian!!!
    Posts
    927
    Thanks
    68
    Thanked 108 Times in 66 Posts
    Downloads
    12
    Uploads
    0
    si en esa fw estan todas las librerias ^^ osea que los mpkg's seran mas facil de hacer
    Representando a Perú en el bash!!! :P


    PM SOLO PARA MODDING!!! NADA DE WAREZ!!!

  16. #13
    jupamomo's Avatar
    offline So I Hear You Can Mod
    Join Date
    Nov 2006
    Location
    Ecuador
    Posts
    370
    Thanks
    14
    Thanked 22 Times in 22 Posts
    Downloads
    745
    Uploads
    0
    steel00, que tiempo llevas utilizando la 48pUltimate?
    No se te ha dañado tu SD?

  17. #14
    steel00's Avatar
    offline Skilfull Modder
    Join Date
    May 2007
    Location
    Lima, Peruvian!!!
    Posts
    927
    Thanks
    68
    Thanked 108 Times in 66 Posts
    Downloads
    12
    Uploads
    0
    ya voy como 2 semanas con la fw y no ha pasado nada... es mas mi Sd anda tan bien que hasta tiene particion swap de 100MB
    Representando a Perú en el bash!!! :P


    PM SOLO PARA MODDING!!! NADA DE WAREZ!!!

  18. #15
    jupamomo's Avatar
    offline So I Hear You Can Mod
    Join Date
    Nov 2006
    Location
    Ecuador
    Posts
    370
    Thanks
    14
    Thanked 22 Times in 22 Posts
    Downloads
    745
    Uploads
    0
    Ok la probaré de nuevo pero la 48pultimate no se puede bloquear aplicaciones, porque?

Page 1 of 3 123 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •