Calculadora básica en Android

0 comentarios

Seguimos haciendo lo básico de la programación, en este caso es un código que le he repasado a kabalt ya que no le funcionaba, lo subo yo por que soy la única persona activa de este blog.

Se trata de una calculadora muy básica suma, resta, multiplica, divide y hace potencias, nada del otro mundo. El problema es que esta persona trabaja desde hace años en host, con PL1 o Cobol y claro, todo lo que es la POO se le ha olvidado del todo, acepto el moverse en el mundillo de Android para recuperar un poco lo que es la lógica de la programación orientada a objetos, no es que yo sea un lumbreras en todo esto pero bueno, tampoco lo desconozco, como siempre os dejo el código y una pequeña captura de pantalla para que comentéis que os parece.

public class textobox extends Activity 
{
/*private EditText Minumero;*/

private EditText Miresultado;

public boolean operando = false;

public int num;
public char operacion = ' ';
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


/* Minumero =(EditText) findViewById(R.id.numero); */
Miresultado=(EditText) findViewById(R.id.Resultado);
/* Identificadores de los botones suma, resta, multiplica y divide */
Button Suma = (Button) findViewById(R.id.Sumar);
Button Resta = (Button) findViewById(R.id.Restar);
Button Multiplica = (Button) findViewById(R.id.Multiplicar);
Button Divide = (Button) findViewById(R.id.Dividir);
Button Mostrar = (Button) findViewById(R.id.Mostrar);
Button Reset = (Button) findViewById(R.id.Reset);
Button Quadrado = (Button) findViewById(R.id.Quadrado);
/* declaramos variable auxiliar para las operaciones */

/* acciones onclick para cada boton */
try{
Suma.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
if(!operando){
num = Integer.parseInt(Miresultado.getText().toString());
operacion = '+';
operando = true;
}else{
num = num + Integer.parseInt(Miresultado.getText().toString());
operacion = '+';
}
Miresultado.setText(null);
}
});
Resta.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
if(!operando){
num = Integer.parseInt(Miresultado.getText().toString());
operacion = '-';
operando = true;
}else{
num = num - Integer.parseInt(Miresultado.getText().toString());
operacion = '-';
}
Miresultado.setText(null);
}
});
Multiplica.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
if(!operando){
num = Integer.parseInt(Miresultado.getText().toString());
operacion = '*';
operando = true;
}else{
num = num * Integer.parseInt(Miresultado.getText().toString());
operacion = '*';
}
Miresultado.setText(null);
}
});
Divide.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
if(!operando){
num = Integer.parseInt(Miresultado.getText().toString());
operacion = '/';
operando = true;
}else{
num = num / Integer.parseInt(Miresultado.getText().toString());
operacion = '/';
}
Miresultado.setText(null);
}
});
Quadrado.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
if(!operando){
num = Integer.parseInt(Miresultado.getText().toString());
operacion = 'C';
operando = true;
}else{
double numero = Math.pow((double)num,Double.parseDouble(Miresultado.getText().toString()));
num=(int)numero;
operacion = 'C';
}
Miresultado.setText(null);
}
});
Mostrar.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
if(!operando){
Miresultado.setText(opera(num,Integer.parseInt(Miresultado.getText().toString()),'*'));
operacion = '=';
}else{
Miresultado.setText(opera(num,Integer.parseInt(Miresultado.getText().toString()),operacion));
operacion = '=';
}
operando = false;
}
});
Reset.setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
num = 0;
operacion = ' ';
operando = false;
Miresultado.setText("");
}
});
}catch(Exception e){
num = 0;
operacion = ' ';
operando = false;
Miresultado.setText("Error");
}
}

public String opera(int x, int y, char operacion){
String num;
switch(operacion){
case '+':
num = ""+(x+y);
break;
case '-':
num = ""+(x-y);
break;
case '/':
num = ""+(x/y);
break;
case '*':
num = ""+(x*y);
break;
case 'C':
double numero = Math.pow((double)x,(double)y);
num=""+numero;
break;
default:
num = "Tipo de operación no soportado";
break;
}
return num;
}
}



 



image

Segundo intento con Android

0 comentarios

Bueno, siguen siendo cosas básicas y prácticamente copiadas de internet, pero por algún lado se tendrá que empezar.

En este caso se ha creado un programa que tiene un menú, este menú tiene dos opciones, la primera hace que aparezca un texto y la segunda borra este texto. Sigue siendo todo estatico pero no esta del todo mal :)

imageimageimage  4. imageimage 

image

Primer cameo con Android

0 comentarios

Buenas, se que tendría que estar con el SCJP, pero en esto no se tardaba nada y lo tenia pendiente desde hace años :s.

Mira que es fácil, seguramente si buscáis dos minutos más podréis encontrar el paso a paso de como hacer esto, por que realmente no se pica ni media línea.

En definitiva todo lo que sale en pantalla es una línea que pone Hola Mundo, pero bueno, por algo se tiene que empezar.

HolaMundo Android

El sistema es casi tan simple como puede ser el echo de crear un nuevo proyecto que se denomine “HolaMundo”. No he creado una sola línea de más, y la verdad es que modificando un par de líneas puedo conseguir que ponga otras cosas.

image

Sin saber que hacer.

0 comentarios

sadmen

Hace una semana tuve reunión con mi manager para hablar de dinero, se que no estamos en una época realmente buena para subidas, pero yo llevaba una buena base sobre la que sostenerme para una subida de las buenas.

Tengo tres años de experiencia en el sector, no es que sea especialmente malo en este tipo de trabajo, pero para mi experiencia soy en mi humilde opinión de un nivel bueno, en estos momentos estoy ganando el salario que por desgracia pacte en el momento de entrar hace ya dos años, en ese momento el salario pactado me pareció correcto.

En el año 2008 con apenas un año de experiencia pacte un salario de 16k con un aumento a 18k pasado el periodo de prueba, como os podéis imaginar la subida a 18k no se llego a realizar, desde ese momento he estado sobreviviendo con esos 16k. Ahora tras dos años de enseñar de lo que soy capaz de hacer, me encuentro con una paupérrima subida de 1’5k al año, todo esto en bruto, claro esta. Lo sorprendente de esto es que mi manager no hablo con ninguno de mi equipo para valorar mi subida y poder hacerla acorde a mis conocimientos.

El cachondeo no termina en ese punto, según mi manager, si me saco el SCJP se me subiría el salario automáticamente, claro, tras el gol que me marcaron con los 18k como puedo creerme que me subirá el salario si yo me saco el SCJP y sobre todo como puedo creerme que la subida será acorde al titulo que ostentaré desde ese momento.

Con tres años de experiencia en otras empresas me darían entre 21k y 24k y eso en el momento actual, que no tengo el SCJP, con el titulo bajo la mano fácil que pudiera conseguir cerca de 27k en algunas empresas que sí que valoren mi trabajo, claro esta, la duda es muy simple, realmente me llegarían a subir 10k por solamente un titulo o nada más me subirían otros 1’5k, realmente la subida no seria acorde a mis conocimientos fuera cual fuera el caso por que en el momento de sacarme el SCJP yo ya tendría entre 3’5 años y 4 años si es que me lo consigo sacar entre seis y doce meses. Claro con 4 años seguramente 27k seria lo mínimo que conseguiría, 30k como mucho gracias al SCJP, dudo que la subida sea tan amplia y rápida por lo que sigo…SIN SABER QUE HACER.

JAVA se6 & Swing Buen libro con malos ejercicios.

0 comentarios

prohibidoJavaMe había comprometido a acabar con este libro,  tenia pensado poner todos los ejercicios y todas las soluciones, plantear el problema y la resolución de todo esto. Lo he intentado pero he llegado a la página 39 y me he quedado mirando el primer ejercicio que viene, con el nivel adquirido asta esa pagina solo tienes dos opciones, o bien te pones a picar como un loco asta que puedes dar el resultado por pantalla o tiras de conocimientos ya adquiridos (si es que los tienes) y comienzas a realizarle recursivas y algoritmos divertidos.

En definitiva, si no haces mucho caso a los ejercicios el libro esta bien, es “entretenido” y didáctico, pero no esperéis que los ejercicios sean acorde a lo que os ha enseñado el pavo asta este momento.

Yo me paso al SCJP y ya veremos si me lo consigo de sacar, ya iré informando :)