miércoles, 6 de noviembre de 2013

Botón salir aplicación Android

Código dentro del método onClick():

Intent intent = new Intent(Intent.ACTION_MAIN);  // con este código vamos a la Activity principal
finish(); // Sale de la aplicación

Activar / Desactivar 3G y Wifi con Android

Para el acceso a Wifi :

WifiManager wifiManager ;
wifiManager  = (WifiManager)this.getSystemService(this.WIFI_SERVICE);
wifiManager.setWifiEnabled(true);        //true - Para habilitar WIFI.



Para el acceso a DATOS/3G :


ConnectivityManager dataManager;
dataManager  = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
Method dataMtd = ConnectivityManager.class.getDeclaredMethod("setMobileDataEnabled", boolean.class);
dataMtd.setAccessible(true);
dataMtd.invoke(dataManager, true);        //true - Para activar la conexión de datos.

Permisos necesarios en el archivo manifest:

  • android.permission.CHANGE_WIFI_STATE
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.INTERNET
  • android.permission.CHANGE_NETWORK_STATE    

jueves, 25 de abril de 2013

Construir y enviar un objeto JSON al controlador

Esta seria la forma de enviarlo desde la jsp.
//Primero serializamos el objeto

var pars =  $("#formulario").serializeObject();

//Convertimos el objeto a JSON    

var json = $.toJSON(pars);



        var parametros = {

                "json" : json,

                "accion": document.formulario.accion.value,

        };



//Hacemos la llamada Ajax

    

        $.ajax({

            url: 'acciondelcontrolador',

            type: 'POST',

            data: parametros,

            success: function(request) {

                this.close();

            },



        });

Para recuperar el objeto y crear un sería así:

//Recuperamos el objeto enviado por la request.

String json = (String)request.getParameter("json");
//Creamos un objeto Gson.
Gson gson = new Gson();
//Y por último creamos el bean
BeanPrueba bean = gson.fromJson(json, BeanPrueba.class);


miércoles, 6 de marzo de 2013

Como hacer un getByCodigo for Update en hibernate

En ocasiones es necesario hacer un getByCodigo y bloquear el objeto para que otro usuario no pueda modificar dicho objeto.
Para bloquear el objeto con hibernate se puede hacer de la siguiente manera:

Antes lo haciamos así, pero ahora este método esta deprecado.

MiClase mc = (MiClase)session.get(MiClase.class,id, LockMode.PESSIMISTIC_WRITE);

Ahora en lugar de pasar un objeto LockMode se pasa un objeto LockOptions


MiClase mc = (MiClase)session.get(MiClase.class,id, LockOptions.UPGRADE);

martes, 12 de febrero de 2013

Hay veces que necesitas escribir notas, que mejor manera de hacerlo sin necesidad de tener que abrir un nuevo editor.
Basta con poner esta línea en la barra de tu navegador:

data:text/html, <html contenteditable>

domingo, 16 de diciembre de 2012

Leer un archivo XML desde java

Para leer un archivo XML en java podemos usar la librería JDOM.


Para leer el archivo se puede hacer de la siguiente manera:
import java.io.File;
import java.io.IOException;
import java.util.List;
import org.jdom.Document;         // 
import org.jdom.Element;          // Librerías
import org.jdom.JDOMException;    // JDOM
import org.jdom.input.SAXBuilder; // 
...

public void cargarXml(){
//Se crea un SAXBuilder para poder parsear el archivo
SAXBuilder builder = new SAXBuilder();
File xmlFile = new File( "archivo.xml" );
try{

//Se crea el documento a traves del archivo
Document document = (Document) builder.build( xmlFile );

//Se obtiene la raiz 'tables'
Element rootNode = document.getRootElement();
//Se obtiene la lista de hijos de la raiz 'tables'
List list = rootNode.getChildren( "tabla" );
//Se recorre la lista de hijos de 'tables'
for ( int i = 0; i < list.size(); i++ ){
//Se obtiene el elemento 'tabla'
Element tabla = (Element) list.get(i);

//Se obtiene el atributo 'nombre' que esta en el tag 'tabla'
String nombreTabla = tabla.getAttributeValue("nombre");

System.out.println( "Tabla: " + nombreTabla );
//Se obtiene la lista de hijos del tag 'tabla'

List lista_campos = tabla.getChildren();
System.out.println( "\tNombre\t\tTipo\t\tValor" );

//Se recorre la lista de campos

for ( int j = 0; j < lista_campos.size(); j++ ){

//Se obtiene el elemento 'campo'
Element campo = (Element)lista_campos.get( j );
//Se obtienen los valores que estan entre los tags ''
//Se obtiene el valor que esta entre los tags ''
String nombre = campo.getChildTextTrim("nombre");
//Se obtiene el valor que esta entre los tags ''
String tipo = campo.getChildTextTrim("tipo");
//Se obtiene el valor que esta entre los tags ''
String valor = campo.getChildTextTrim("valor");
System.out.println( "\t"+nombre+"\t\t"+tipo+"\t\t"+valor);
}
}
}catch ( IOException io ) {
System.out.println( io.getMessage() );
}catch ( JDOMException jdomex ) {
System.out.println( jdomex.getMessage() );
}
}

martes, 11 de diciembre de 2012

Novedades java 7 Múltiples excepciones en un método

Siguiendo con las novedades de java 7, vamos a ver como tratar en un método la captura de varias excepciones.

Antes de java 7 el tratamiento se hacia añadiendo varios bloques catch, es decir de la siguiente manera:
public class Prueba1 {
  public static void main(String[] args){
    try {
      metodoExcepcion1();
      metodoExcepcion2();
    } catch (IOException e) {
      e.printStackTrace();
    } catch (NumberFormatException e) {
      e.printStackTrace();

   }
  }
  static void metodoExcepcion1() throws IOException{}
  static void metodoExcepcion2() throws NumberFormatException {}
}
Con la utilización del bloque multicatch el mismo código quedaría de la siguiente forma:
try {
   exceptionMethod1();
   exceptionMethod2();
} catch (IOException | NumberFormatException e) {
   e.printStackTrace();
}