>

08 junio 2013

Eliminar una acción predeterminada de una aplicación en android

Cuentas veces queremos que una aplicación de nuestro smartphone android no abra un link de twitter o facebook y no sabemos cómo quitar esa maldita asociación al programa pues se hace así:

  • Ir a ajuste / aplicaciones seleccionar todas y buscar la asociada (Por ejemplo Internet
  •   Una vez dentro busca la opción Ejecutar de Forma Predeterminada y pulsa Borrar valores Predeterminados

13 mayo 2013

Como eliminar un arranque dual en windows 7


Haces unos meses instalé ubuntu para realizar unas pruebas en una de las particiones del disco duro del portátil.
Cuando terminé de realizarlas de “listo” formatee la partición donde estaba el Ubuntu quedándome en el arranque del portátil la del Ubuntu.
¿Cómo haremos para poder eliminar esa opción molesta cuando arranca nuestro Windows 7? Pues muy fácil:
  1.        Ve a inicio, teclea cmd, ponte encima de él y pulsa el botón derecho de ratón.
  2.        Ejecútalo como Administrador.
  3.        Se abrirá una ventana de línea de comandos.
  4.        Teclea en ella el siguiente comando bcdedit.
  5.        Te mostrará un listado con todas las opciones de arranque que tienes. En mi caso busco la que pone Ubuntu en description.
  6.        Una vez localizado copio el valor que aparece en identifier, para copiarlo hay que marcarlo con el ratón, una vez marcado botón derecho y opción copiar.
  7.       Para borrar la opción de arranque pon el siguiente comando bcdedit /delete seguido del valor de identifier que previamente se copió al portapapeles.
  8.        Pulsa intro y reinicia el Pc.

La próxima vez que arranques ya no te saldrá la opción.

11 febrero 2013

Recorrer un Properties de Java

31 enero 2013

Reemplaza cadenas en java con replaceAll a traves de la clase StringBuilder

Si necesitas un método que realice un reemplazado de una cadena por otra utiliza el siguiente

/**
      * Metodo que reemplaza cadenas en un stringbuilder
      *
       * @param builder
      * @param from
      * @param to
      */
      private void replaceAll(StringBuilder builder, String from, String to) {
            int index = builder.indexOf(from);
            while (index != -1) {
                  builder.replace(index, index + from.length(), to);
                  index += to.length(); // Move to the end of the replacement
                  index = builder.indexOf(from, index);
            }
      }

15 noviembre 2012

Combos (DropDown) enlazados(lazy) con jquey

Esto es el código para realizar dos combos(dropdown) enlazados(lazy) con jquery a partir de dos matrices multidimensionales constantes.
 

$(document).ready(function(){
var array1=[["01","valueArray101"],["02","valueArray102"],["03","valueArray103"],["04","valueArray104"]];
var array2=[["11","valueArray211"],["12","valueArray212"],["13","valueArray213"],["14","valueArray214"]];
 
 
//Combos enlazados
$("#idselect").change(function () {
//comprueba los valores seleccionados en el select
    if ($('#idselect option:selected[value="01"]').length > 0 || $('#idselect option:selected[value="05"]').length > 0 ||  $('#idselect option:selected[value="10"]').length > 0){
      //Elimina los option de la select
      $('#idselect1').empty();
      //Recorremos el array multidimensional
      for(var val in array1) {
          $("

07 noviembre 2012

Como borrar recursivamente la carpeta .svn del Subversion

Crea un fichero bat con el código de abajo y mételo dentro de la carpeta donde tienes los ficheros del subversión y ejecútalo, se te borraran todos.

FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q "%%G"

01 noviembre 2012

Ejecutar un proceso, batch(bat) o programa al cerrar o iniciar Windows

Alguna vez has necesitado ejecutar un programa o batch(Bat) cuando se inicie tu windows o cuando se apague, en mi caso necesitaba ejecutar un script de visual basic (vbs) para hacerlo necesitas realizar los siguientes pasos:
  1. Ejecutar gpedit.msc.
  2. Se abrirá la siguiente ventana 


  3. Ve a "Configuración del equipo" / "Configuración de Windows" / "Scripts(Inicio o Apagado)"
  4. Selecciona Inicio o Apagado y añade tu script o programa. Así de fácil.

22 octubre 2012

Operaciones con Decimales en Java (redondeo)

Si necesitáis realizar operaciones con  números decimales tienes que utilizar java.math.BigDecimal, en el siguiente ejemplo comprobamos que la variable numericoDecimal no es 0 y le asignamos la operación multiplicación de un Double y una división por un int redondeado los decimales hacia arriba:
import java.math.BigDecimal;
import java.math.RoundingMode;

public class Prueba {
 public static void main(String[] args) {
  Double numeroDecimal2= new Double(24.2);
  BigDecimal numericoDecimal = new BigDecimal(24.5);

  // comprobacion si el valor del BigDecimal es 0
  numericoDecimal= numericoDecimal.compareTo(BigDecimal.ZERO) != 0 ?
   numericoDecimal.multiply(BigDecimal.valueOf(numeroDecimal2)).divide(BigDecimal.valueOf(12), RoundingMode.HALF_UP) 
   : BigDecimal.ZERO;
  System.out.println(numericoDecimal);
 }
}

La salida da 49.41

05 junio 2012

Scheduler o Programador de tareas en Java Version2

Otra versión de un scheduler o programador de tareas y esta vez para máquinas virtuales jdk 1.4 o anteriores. Las clases utilizadas son  java.util.Timer y   java.util.TimerTask.
Hay dos Timer y dos Task, un Timer que arranca la alarma y otro que la para, una Task que ejecuta un contador y otra que para las Tasks y los Timers

import java.util.Timer;

import java.util.TimerTask;



public class Alarma {

private long tiempoCarenciaMilisegundos = 3000;

private long tiempoEjecucionAlarmaTask = 3000;

private AlarmaTimer alarmaTimer = new AlarmaTimer();

private AlarmaTask alarmaTask = new AlarmaTask();

private AlarmaParaTimer alarmaParaTimer = new AlarmaParaTimer();

private AlarmaParaTask alarmaPararTask = new AlarmaParaTask();



/**

 * @param args

 */

public static void main(String[] args) {

System.out.println("Inicio del Main");

Alarma alarma = new Alarma(1000, 3000);

alarma.arrancaAlarmaTimer();

alarma.arrancaAlarmaParaTimer();

System.out.println("Fin del Main");

}



/**

 * Constructor de la clase

 * @param tiempoCarenciaMilisegundos

 * @param tiempoEjecucionAlarmaTask

 */



public Alarma(long tiempoCarenciaMilisegundos,

long tiempoEjecucionAlarmaTask) {

this.tiempoCarenciaMilisegundos = tiempoCarenciaMilisegundos;

this.tiempoEjecucionAlarmaTask = tiempoEjecucionAlarmaTask;

}

private void arrancaAlarmaTimer() {

alarmaTimer.arrancaTimer();

}

private void arrancaAlarmaParaTimer() {

alarmaParaTimer.arrancaParaTimer();

}

public class AlarmaTask extends TimerTask {

private int contador = 0;

public void run() {

System.out.println("Se ejecuta la alarma " + contador++);

}

}

public class AlarmaTimer extends Timer {

private final Timer tiempo = new Timer();

public void arrancaTimer() {

tiempo.scheduleAtFixedRate(alarmaTask, tiempoCarenciaMilisegundos,

tiempoEjecucionAlarmaTask);

};

}

public class AlarmaParaTask extends TimerTask {

public void run() {

System.out.println("Se ejecuta la cancelacion de la alarma ");

alarmaTask.cancel();

alarmaTimer.cancel();

alarmaTimer.purge();

System.out.println("Se ejecuta el parado de este timer/task ");

alarmaPararTask.cancel();

alarmaParaTimer.cancel();

alarmaParaTimer.purge();

System.exit(0);

}

}

public class AlarmaParaTimer extends Timer {

private final Timer tiempo = new Timer();

public void arrancaParaTimer() {

tiempo.scheduleAtFixedRate(alarmaPararTask, 20000, 1);

};
}
}

01 junio 2012

Scheduler o Programador de tareas en Java

Hoy posteo un pedacito de código de esos que suelo utilizar de vez en cuando para ejecutar en background tareas que se deben de realizar a horas intempestivas sin que moleste a nadie . Se trata de un programador de tareas o scheduler utilizando la clase Executors del paquete java.util.concurrent para versiones iguales o superiores 1.5 de java.

public class Schedule {

private ScheduledExecutorService programador;
private long tiempoRetardo;
private long tiempoEjecucion;
private long tiempoParada;

private static final int NUMERO_THREADS = 1;
private static final boolean PUEDE_PARAR_TAREA_SI_EJECUTA = false;

public static void main(String[] args) {
System.out.println("Inicio de main del proceso");
Schedule execute = new Schedule(3, 1, 20);
execute.activaProcesoYPara();
System.out.println("Fin del main del proceso");
}

/**
* Constructor
* @param tiempoInicial
* @param tiempoEjecucion
* @param tiempoParada
*/
public Schedule(long tiempoRetardo, long tiempoEjecucion, long tiempoParada) {
this.tiempoRetardo = tiempoRetardo;
this.tiempoEjecucion = tiempoEjecucion;
this.tiempoParada = tiempoParada;
programador = Executors.newScheduledThreadPool(NUMERO_THREADS);
}

/**
* Metodo que activa el programador
* el proceso se ejecutara 17 veces(contador = 17) ya que hay
* un retardo de 3 segundos. El proceso de parada tiene un ejecucion de 20
* segundos.
*/
public void activaProcesoYPara() {
Runnable ejecucionTarea = new EjecucionTarea();
ScheduledFuture programadorTareaFutura = programador.scheduleWithFixedDelay(ejecucionTarea, tiempoRetardo,
tiempoEjecucion, TimeUnit.SECONDS);
Runnable paradaProceso = new PararTarea(programadorTareaFutura);
programador.schedule(paradaProceso, tiempoParada, TimeUnit.SECONDS);
}

/**
* Clase que se utiliza para la ejecucion de la tarea
*/
private static final class EjecucionTarea implements Runnable {
/**
* Variable contador
*/
private int contador;

/*
* (non-Javadoc)
* @see java.lang.Runnable#run()
*/
public void run() {
++contador;
System.out.println("valor del contador " + contador);
}
}

/**
* Clase que se utiliza para parar la tarea que se ejecuta en el
* {@link ScheduledFuture}
*/
private final class PararTarea implements Runnable {
private ScheduledFuture programadorFuturo;

/**
* Constructor.
* @param programadorTareaFuturo
*/
public PararTarea(ScheduledFuture programadorTareaFuturo) {
programadorFuturo = programadorTareaFuturo;
}

/*
* (non-Javadoc)
* @see java.lang.Runnable#run()
*/
public void run() {
System.out.println("Parando la tarea");
programadorFuturo.cancel(PUEDE_PARAR_TAREA_SI_EJECUTA);
programador.shutdown();
}
}

}