Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Usuario Invitado

#301
Es muy sencillo con WebView. Pueded hacerlo de dos formas, cargar la url de tu aplicación o cargar todo el source desde la misma app.

Ejemplo:

Código (java) [Seleccionar]
WebView webView = (WebView) findViewById(R.id.webview);
webView.loadUrl("http://
www.tuweb.com");
webView.getSettings().setJavaScriptEnabled(true);


También tienes que especificar en el manifest que debe solicitar permiso a internet:

Código (xml) [Seleccionar]
<manifest ... >
    <uses-permission android:name="android.permission.INTERNET" />
    ...
</manifest>


Si quieres cargarla desde el código fuente, colocálo en el folder assets y cargas la web principal:

Código (java) [Seleccionar]
file:///android_asset/tu_app/index.html


Saludos.
#302
En aplicaciones pequeñas que no van a escalar, no tiene mucha importancia, no hay impacto negativo, solo seria un mal hábito pero sin repercusiones en el funcionamiento de la aplicación. De todas formas existen alternativas al Singleton.

Saludos.
#303
Primero que todo, buen aporte Doddy. Como dice Pablo Videla, el objeto de Github es alojar proyectos OS, donde el código es visible como aporte para la comunidad.

Por otro lado, siempre veo tus códigos muy largos. Se supone que Delphi es un lenguaje OO, ¿por qué no modularizas?


Saludos.
#304
Singleton es considerado una mala práctica, para algunos es un anti patrón. Los objetos singleton dificultan la programación orientada a objetos. El simple hecho de ser un singleton va en contra de la POO, cuyo principal objetivo es que el acoplamiento entre clases sea lo más débil posible, reutilizar código entre otras.

¿Qué pasa si cambia la especificación del singleton? Debemos cambiar todos los bloques en donde hagamos uso del singleton. ¿Qué tan posible es reutilizar código de una aplicación que hace uso de singletons en otra diferente? Prácticamente nula. Cuando usamos singletons, la reutilización, mantenimiento y testeabilidad, baja a niveles muy bajos.
#305
Java / Re: Ordenar por nombre y sueldo
24 Marzo 2015, 19:27 PM
El método sort, por defecto, ordena los elementos en forma ascendente. Si los elementos son objetos y no se especifica un objeto que sobreescriba la comparación por defecto (utilizando las interfaces Comparable y Comparator), la VM lanzará un java.lang.Error con el siguiente mensaje:

CitarBound mismatch: The generic method sort(List) of type Collections is not applicable for the arguments (ArrayList). The inferred type Empleado is not a valid substitute for the bounded parameter > at ...

Si tu List contiene objetos y quieres ordenarlos, deberás de reemplazar el ordenamiento por defecto por uno proveído por las interfaces Comparator y Comparable.

Saludos.
#306
No es que no detecte las librerías, te está diciendo que no detecta el método main en la clase Main, lo que me parece muy raro. ¿Estás seguro que el método main está correctamente escrito?
#307
Java / Re: Ayuda JTable con 2 cabezales
23 Marzo 2015, 21:58 PM
Hola de nuevo,

Puedes ver un ejemplo funcional AQUÍ

Resultado:




Saludos.

PD: Marca el otro tema como solucionado (check a la derecha del tema).
#308
¿No usas IDE? Poner todo en un solo lugar es no tener ningún tipo de organización en el proyecto. Todo IDE te crea una estructura estándar de directorios.

En todo caso compila:

javac -cp "*" Main.java

Y ejecuta:

java -cp "*" Main

El compilador y el runtime interpreta "*" como todos los JARs. Así que, como tienes todos los JARs con el código fuente sin paquetes ni nada, se debe colocar "*". Si tuvieras los JARs en un folder llamado lib, se cambiaría por "lib/*" (necesario JDK 7+).


Saludos.
#309
Las conexiones se deben de cerrar al terminar cada proceso. Puedes utilizar la misma conexión para hacer X consultas, pero al final, siempre debes cerrarlas para liberar cursors, handlers, etc, que son recursos de la conexión a la BBDD. Otro problema puede ser que si tenemos una aplicación multi threading, ambos hilos pueden acceder paralelamente a la misma conexión y ocurrirá un problema, para esto es conveniente usar synchronized.

Si tienes que hacer muchas conexiones simultáneas, mejor usa un pool.
#310
Lo importante es que desarrolles tu lógica para crear algoritmos y resolver problemas. Si recién empiezas, puedes empezar con pseudocódigo, y si así lo prefieres puedes usar la herramienta Pseint; por otra parte, puedes coger un cuaderno y anotar los pasos que te podrían llevar a la solución. Todo esto con el objetivo de desarrollar tu lógica de programador.

Por ejemplo, ves un ejercicio algorítmico que dice:

Pedirle al usuario su edad y si es mayor de edad imprimir "Usted puede pasar", caso contrario, "No se admiten menores de edad".

Un error común en principiantes es resolver el problema directamente utilizando un lenguaje de programación, ERROR. Lo que primero se debe realizar es un análisis del problema e identificar los requisitos para solucionarlo. Identificar las entidades que tengan más relevancia y plantear una solución.

Por ejemplo, del ejercicio anterior puedes determinar que se necesitan los siguientes requisitos para realizarlo:

  • Se requiere un método de ingreso por teclado.
  • Pedirle al usuario ingresar su edad.
  • Evaluar el valor ingresado por teclado.
  • Decidir respecto a la evaluación.

    Teniendo lo anterior, desmenuzamos cada requisito, de manera que:

    1. Se crea un punto de entrada por teclado.
    2. Se le pide al usuario ingresar por medio de un mensaje.
    2.1. Comprobar que lo ingresado sea un número y sea válido (> 0)
    3. Determinar si la edad es mayor que 17  o menor.
    4. Si la edad es mayor que 17 imprimir "Usted puede pasar".
    4.1. Si la edad es menor o igual a 17 imprimir "No se admiten menores de edad".

    Ya tenemos la solución. Por último la aplicamos en el lenguaje de programación que prefiramos. Cuando tengas más experiencia, para problemas pequeños, puedes obviar el análisis porque tu lógica ya estará ágil para resolver problemas y puedes dar con la solución paralelamente con la programación.

    Saludos.