Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 23/08/11, 03:57:34
Array

[xs_avatar]
javvargas javvargas no está en línea
Usuario novato en la web
 
Fecha de registro: ago 2011
Mensajes: 2
Tu operador: Movistar

Como hacer un eval?

Quisiera saber como se puede iterar en java para que evalue un script, es decir, quiero simplificar las lineas para generar esto:

rg1_1.setVisibility(0);
rg1_2.setVisibility(0);
rg1_3.setVisibility(0);
rg1_4.setVisibility(0);
rg1_5.setVisibility(0);

donde pueda hacer un loop for para sustituir n por el numero de iteración --> rg1_n

Y que utilice algo así como la función eval en javascript.
Se que se puede hacer en java con javax.script pero en android no existe.
Les agradezco de antemano.
Responder Con Cita


  #2  
Viejo 23/08/11, 04:27:41
Array

[xs_avatar]
iliberis iliberis no está en línea
Miembro del foro
 
Fecha de registro: abr 2009
Localización: Graná, España
Mensajes: 439
Modelo de smartphone: HTC Trinity, Samsung Galaxy Mini, ZTE Blade, ZTE Light Pro
Tu operador: Simyo
Ante todo, no se si esto se puede hacer en este Java "recortado". En teoría es una característica de cualquier lenguaje OOP, y no de sus librerias. Yo intentaría agrupar esos objetos en una colección que luego se puede recorrer. La "macrosustitución" (como se conocía antes), es una característica que muy pocos lenguajes poseen.

A ver si alguien con más experiencia lo puede aclarar. Yo, al menos, es la técnica que uso para cosas similares en casi todos los lenguajes que programo. En especial para objetos visuales.
Responder Con Cita
  #3  
Viejo 23/08/11, 11:09:38
Array

[xs_avatar]
pmaicas pmaicas no está en línea
Desarrollador
 
Fecha de registro: dic 2008
Mensajes: 1,299

Lo podrías hacer en javascript, usando un webview, porque se puede interactuar entre le javascript y el java. Complicado e incluso absurdo, pero se puede.

Tambien se puede usar "java reflection", coloca estas dos palabras en google. No es eval porque no evalua expresiones, pero para ese ejemplo que has puesto sirve.

Acceder en tiempo de ejecucion a los nombres de sus objetos, datos y métodos no es una caracteristica de la OOP, es una caracteristica de los lenguajes interpretados, en ningun lenguaje compilado que se precie se puede hacer eso, por muy OOP que sea. En este caso java conserva los nombres despues de compilar, nunca me ha gustado eso, pues es uno de los motivos por los que luego es tan facil aplicar la "ingenieria inversa".

De todas formas tu problema -si me lo permites- es de un pésimo diseño de la aplicación, eso de tener una lista de datos que no forma parte realmente de una lista ni array y que ni siquiera se ha creado dinámicamente por lo que parece, es un error.
__________________
Saludos
-Pedro-
http://www.maicas.net/ (desarrollo de software)
http://droid.maicas.net/ (solo android)
Responder Con Cita
  #4  
Viejo 23/08/11, 16:45:23
Array

[xs_avatar]
iliberis iliberis no está en línea
Miembro del foro
 
Fecha de registro: abr 2009
Localización: Graná, España
Mensajes: 439
Modelo de smartphone: HTC Trinity, Samsung Galaxy Mini, ZTE Blade, ZTE Light Pro
Tu operador: Simyo
 Cita: Originalmente Escrito por pmaicas Ver Mensaje
Acceder en tiempo de ejecucion a los nombres de sus objetos, datos y métodos no es una caracteristica de la OOP, es una caracteristica de los lenguajes interpretados,
Me he expresado muy mal, ahora que releo el post. Me refería a las colecciones de objetos más bien. Podría ser una buena solución también. Aunque lo de usar la reflection... ni se me había pasado por la cabeza.

 Cita: Originalmente Escrito por pmaicas Ver Mensaje
en ningun lenguaje compilado que se precie se puede hacer eso, por muy OOP que sea.
En Clipper se podía, y era compilado. Pero también conservaba las tablas de símbolos, lo que facilitaba la descompilación. Aunque este lenguaje era OOP sólo "a medias", al ser de los primeros.

Ni Java ni .NET son realmente compilados. Se basan en una maquina virtual, que es sencillamente una evolución del viejo concepto de intérprete.

 Cita: Originalmente Escrito por pmaicas Ver Mensaje
De todas formas tu problema -si me lo permites- es de un pésimo diseño de la aplicación, eso de tener una lista de datos que no forma parte realmente de una lista ni array y que ni siquiera se ha creado dinámicamente por lo que parece, es un error.
En mi opinión, lo mejor sería, si es posible, cambiar un poco el diseño de esa aplicación. Yo simplemente crearía los objetos dinámicamente y los iría colocando en una colección. De esa forma se pueden después recorrer fácilmente y modificar sus propiedades de forma efectiva.
Responder Con Cita
  #5  
Viejo 24/08/11, 14:43:15
Array

[xs_avatar]
javvargas javvargas no está en línea
Usuario novato en la web
 
Fecha de registro: ago 2011
Mensajes: 2
Tu operador: Movistar

OK. Muchas gracias por sus comentarios. Intentare por java reflection.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 00:02:17 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /