domingo, 25 de febrero de 2018

sqlite primeros pasos

Primero que todo hay que descargar sqlite de la pagina de sqlite.
una vez descargado se ejecuta en una terminal.

Comandos para empezar:


  1. sqlite3 test.db (esto crea la base de datos o si ya esta creada ingresa a ella)
  2.  .schema    muestra las tablas creadas con sus respectivos parametros 
  3. CREATE TABLE nombreDeLaTabla (nombreVariable tipoVariable, ejemplo a   string) en los parametros van los nombres de las tablas y los tipos de variable que son
  4. insert into nombreDeLaTabla (nombreVariable) value ("valor que se le asigna") Asignar Valores a los campos creados

Comando
Descripción
.show
Muestra los valores actuales de varios parámetros
.databases
Proporciona nombres de bases de datos y archivos
.quit
Salir del programa sqlite3
.tables
Mostrar tablas actuales
.schema
Pantalla de esquema de la tabla
.header
Mostrar u ocultar el encabezado de la tabla de salida
.mode
Selecciona el modo de la tabla de salida
.dump
Base de datos de volcado en formato de texto SQL




miércoles, 21 de febrero de 2018

Android Studio - strings.xml adicionar propiedades para internacionalizar


Cada vez que creamos un proyecto en android  se crea un estructura de proyecto en la cual existen varias carpetas con archivos estilo properties y se llama values.
En esta carpeta esta Strings que es donde ponemos los textos que vamos a usar de alguna manera.
En este caso es para poner los textos de los botones en el archivo String.xml



Para esto vamos a el xml de tu activity que se encuentra en la parte de los layouts y escribimos
"@string/el texto a usar"  en este caso es "@string/apellido"  una vez lo ponemos aparece en Rojo por que no se ha creado en el archivo strings.xml entonces para abrir la opcion de crearlo automaricamente le damos cmd + 1 si estas en mac o si no le damos ctrl+ enter en windows





una vez hecho esto te sale esta ventana donde pones en Resource Value el texto que quieres que queiras tener aca. en mi caso dice apellido





Una vez hecho esto el color de la propiedad en el xml cambia, ya se ve instanciada.


Así queda el archivo Strings.xml una vez se agrego la propiedad aparece en la parte inferior como podemos ver en la imagen

Inmediatamente para este caso en tu activity.xml en la parte de design aparece el texto que le asignaste a ese widget


Android Studio - pasar parametros entre Activities

Para pasar string entre Activities se usa el siguiente codigo
Intent intent = new Intent(Activity_Origen.this, Activity_Destino.class);
intent.putExtra("parametro", "string");
startActivity(intent);
Para recibirlos en el otro Activity
getIntent().getExtras().getString("parametro");
ahora si tienes que pasar un objeto entonces la clase que vallas a pasar como objeto la tienes que volver serializable.
[...]

@SuppressWarnings("serial")
public class Noticia implements Serializable {

[...]
El resto del código sería muy similar:
Intent intent = new Intent(Activity_Origen.this, Activity_Destino.class);
intent.putExtra("parametro", Objeto);
startActivity(intent);
Y en la clase destino:
Noticia objeto = (Noticia)getIntent().getExtras().getSerializable("parametro");

lunes, 19 de febrero de 2018

Preguntas que te hacen en las entrevistas de trabajo como java developer

Que es un objeto?
que es una clase?
que es polimorfismo?
que es encapsulamiento?

que son servicios rest?
que es un soap?

conoces que es un servlet?

metodologia scrum?

Que es DevOps?

que son patrones de diseño?
 un ejemplo de patrones de diseño: MVC
Que es Gof(gang of four)?





domingo, 18 de febrero de 2018

Sumar dias en el calendario de Java - me dice en cuantos dias tengo que entregar un libro si teniendo en cuenta que los domingos no se trabaja

import java.sql.Date;
import java.util.Calendar;

public class Inicio {

public static void main(String[] args) {
String fechaEntregaFinal = setFecha("22","12","2018");
System.out.println(fechaEntregaFinal);

}




// este metodo va a decir cuantos domingos hay despues de la fecha dada hasta 15 dias despues

@SuppressWarnings("deprecation")
public static String setFecha(String diaSemana, String mes, String ano) {

int diasDisponible =15;
int contador=0;
Date fecha = Date.valueOf(ano+"-"+mes+"-"+diaSemana); //
for (int i = 0; i <= 15; i++) {
Integer aux = Integer.parseInt(diaSemana)+1;
String dias = aux.toString();
fecha  =   Date.valueOf(ano+"-"+mes+"-"+dias);
fecha.setDate(i+aux);
System.out.println(fecha.toString());

if (fecha.getDay()==0) {
contador++;
diasDisponible = diasDisponible+contador;
System.out.println(contador);
}

}


Calendar cal = Calendar.getInstance();
cal.setTime(fecha=Date.valueOf(ano+"-"+mes+"-"+diaSemana));
cal.add(Calendar.DAY_OF_MONTH, 15+contador);



return  cal.getTime().toString();

}
}


///para este ejercicio hay que tener en cuenta que el domingo es el numero 0
lunes 1 y asi sucecivamente.

sábado, 17 de febrero de 2018

Saber si un numero es palíndromo o no programación en Java




import java.sql.Date;

public class Inicio {

public static void main(String[] args) {
Boolean swPalindromo= esPalindromo("112211");
System.out.println(swPalindromo);
}
public static Boolean esPalindromo(String num) {
String numInvertido="";
char[] caracter;
int longitud = num.length()-1;
for (int i = 0; i <= longitud; i++) {
caracter = num.toCharArray();
numInvertido = caracter[i]+ numInvertido;
}
System.out.println(num);
System.out.println(numInvertido);
if (Integer.parseInt(numInvertido)==Integer.parseInt(num)) {
return true;
}
else 
return false;
}

}

viernes, 16 de febrero de 2018

hallar el complemento de un numero binario - binario a decimal y decimal a binario

package ejemplos;

import java.util.ArrayList;
import java.util.Collections;
el problema es convertir un numero a binario y después invertirlo para encontrar su complemento
ej
si me dan 50 lo tengo que convertir a binario 110010 entonces tengo que devolver 001100 que es su complemento y despues pasarlo a decimal que en este caso seria 13 o sea que 13 es el complemento de 50



public class Principal {

public static void main(String[] args) {
int a = 50;
int b = 30;
String res = obtenerBinario(a);//obtiene el binario invertido
String complemento = obtenerComplemento(res);
System.out.println(complemento);
}
//este metodo devuelve el complemento en binario
public static String obtenerBinario(Integer numero) {
String str = "";
Integer binary;
while(numero>0)
{
binary= numero%2;
if(binary==0){
binary=2;

}
str= binary.toString() + str;
numero = numero/2;
}
//char[] str2 =str.toCharArray();
strstr.replaceAll("1","0");
str = str.replaceAll("2", "1");
return str;
}
//metodo para cambiar de binario a decimal
public static String obtenerComplemento(String num) {
int tamaño = num.length() -1;
Integer binary = Integer.parseInt(num);
int ultimoNumero;
int answer;
Integer sumatoria=0;
for(int i = 0;i<=tamaño;i++)
{
ultimoNumero = binary%10; //obtiene el ultimo numero de la cadena
answer =  (int) Math.pow(2, i);
sumatoria=sumatoria + (answer*ultimoNumero);
binary = binary/10; //saca el ultimo numero
}
return sumatoria.toString();
}


}