Mostrando entradas con la etiqueta Android. Mostrar todas las entradas
Mostrando entradas con la etiqueta Android. Mostrar todas las entradas

sábado, 11 de noviembre de 2017

GitHub

En el siguiente enlace puedes encontrar los archivos con los codigos de ejemplo que voy creando para los tutoriales, podeis verlos aqui.
Espero os sea util, no olvideis practicar. Gracias.

sábado, 2 de enero de 2016

#Sonidos

En esta web podreis encontrar recursos de sonidos para incluir en vuestras aplicaciones.

viernes, 18 de septiembre de 2015

Tres en raya

Publicado juego de tres en raya con nivel de dificultad bajo y opcion de uno o dos jugadores, ideal para que los pequeños se adentren en este tipo de juegos.
Podeis descargar el juego aqui.
Espero os guste. Gracias.

viernes, 4 de septiembre de 2015

Cambio de dominio en la web Aprendiendo Programacion

Preparando el cambio de la web de programacion a un nuevo servidor.
He cambiado un poco la estetica y estoy preparandola para que se vea bien en diversos dispositivos, es decir que sea "Responsive" como se dice habitualmente.
Añadidos nuevos contenidos que poco a poco ire ampliando.
Gracias.

viernes, 17 de julio de 2015

Aplicacion Android PuzzleTico

Modificada aplicacion de puzzles mejorada para que ocupe menos "megas", incluyendo nueva opcion para tomar fotos de la galeria y convertirla en puzzle.
Esperando sea util y entretenida, os paso enlace PuzzleTico.
Gracias.

viernes, 22 de mayo de 2015

jueves, 19 de marzo de 2015

miércoles, 18 de marzo de 2015

lunes, 9 de marzo de 2015

Cambio de imagen en web programacion

Hace algun tiempo decidi publicar mis apuntes de programacion que usaba como recordatorio, con el fin de que pudiera servir a alguien mas.
Por esto cree la Web Aprendiendo Programacion, hace unos dias cambie un poco la imagen de dicha web y añadi algo mas de contenido.
En cuanto pueda seguire añadiendo mas, con el objetivo de tener un sitio completo para consultar teoria y ejemplos de programacion.
Espero os sea util, gracias.

martes, 27 de enero de 2015

CountKids Contar, Restar y Sumar Gratis para niños

Agregada a Google Play aplicacion para Tablet, para que los peques practiquen sumas y restas contando globos.
Podeis descargar la aplicacion aqui.
Para mas informacion pinchar aqui.
Espero os sea util, gracias.

jueves, 8 de enero de 2015

Actualizada aplicacion android Mathkidstico, añadi operacion de multiplicacion y division, junto con dos niveles de dificultad.
El nivel basico con operaciones menores a 2 cifras para niños de 3 o 4 años y el nivel normal para niños mayores de dichas edades.
Espero sea util y ayude a los peques con sus primeras operaciones.

MathKids Sumas restas Gratis - screenshot thumbnail

martes, 23 de diciembre de 2014

Para que practique mi hija en estas vacaciones he creado una aplicacion de sumas y restas sencillas, para niños de 3 a 5 años.
En breve pondre algun nivel mas y operaciones de multiplicacion y division.
Podeis descagar la apli android en mathkidstico.
Espero os guste. Gracias.MATHKIDSTICO SUMAS Y RESTAS - screenshot thumbnail

martes, 9 de diciembre de 2014

Creada web de aplicaciones android.
La primera aplicacion es la tipica linterna, es una aplicacion sencilla pero a la vez util en ciertas ocasiones.
Poco a poco ire subiendo apps a google play, en dicha web se iran exponiendo las novedades.
Mas informacion en Aplicaciones Android.
Gracias, espero sea util.

miércoles, 3 de julio de 2013

#AndroidSharedPreferences


Haremos un programa que solicite el nombre del usuario y lo guarde
mediante SharedPreferences.
Al iniciar la aplicación poner en el  EditText el último nombre
introducido.
Un botón para almacenar el nombre y que finalice el programa.
Crearemos un nuevo proyecto llamado SharedPreferences y lo
almacenaremos en el package name: android.ejemplos
01




02

 




Disponemos un TextView y definimos su ID con el nombre tv1, la propiedad
Text con “Introduce Nombre:”.
Disponemos un EditText y definimos su ID con el nombre et1.
Disponemos un Button y definimos su propiedad Id con el nombre button1
su propiedad Text con el valor guardar su propiedad OnClic con el valor
guardar.

03

 





04




El código java es:
package android.ejemplos;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {
private EditText et1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1=(EditText)findViewById(R.id.et1);
SharedPreferences guarda=getSharedPreferences(“archivo”,Context.MODE_PRIVATE);
et1.setText(guarda.getString(“nombre”,”"));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void guardar(View v) {
SharedPreferences guarda=getSharedPreferences(“archivo”,Context.MODE_PRIVATE);
Editor editarch=guarda.edit();
editarch.putString(“nombre”, et1.getText().toString());
editarch.commit();
finish();
}
}


Obtenemos la referencia del EditText: et1=(EditText)findViewById(R.id.et1);
Obtenemos una referencia de un objeto de la clase SharedPreferences a
través del método getSharedPreferences. El primer parámetro es el nombre
del archivo de preferencias y el segundo la forma de creación del archivo
(MODE_PRIVATE indica que solo esta aplicación puede consultar el archivo
XML que se crea)
SharedPreferences guarda=getSharedPreferences(“archivo”,Context.MODE_
PRIVATE);
Para extraer los datos del archivo de preferencias debemos indicar el nombre
a extraer y un valor de retorno si dicho nombre no existe en el archivo de
preferencias  hace que Android lo cree, si tratamos de extraer el valor de
nombre retornará el segundo parámetro es decir el String con una cadena
vacía:
et1.setText(guarda.getString(“nombre”,”"));
Cuando se presiona el botón “Guardar” lo que hacemos es grabar en el archivo
de preferencias el contenido del EditText en una variable llamada “nombre”:
public void guardar(View v) {
SharedPreferences guarda=getSharedPreferences(“archivo”,Context.MODE_
PRIVATE);
Editor editarch=guarda.edit();
editarch.putString(“nombre”, et1.getText().toString());
editarch.commit();
finish();
}
Debemos crear un objeto de la clase Editor y obtener la referencia del objeto
de la clase SharedPreferences que acabamos de crear. Mediante el método
putString almacenamos en nombre el valor del String cargado en el EditText.
Luego debemos llamar al método commit de la clase editor para que el dato
quede almacenado en el archivo de preferencias.
Esto hace que cuando volvamos a iniciar la aplicación se recupere el último
nombre ingresado.
Con finish de la clase Activity finaliza la actividad actual, al tener solo una
actividad en esta aplicacion, el programa terminara.
Por ultimo hay que añadir permiso para escritura en android manifest,
según imagen:

05

06



















martes, 9 de abril de 2013

#Android SqLite


  Abrimos Eclipse y pinchamos en Archivo / Nuevo / Android Ap
  Ponemos como nombre de aplicación GestionSqlite en package ejemplos.android.
  En este ejemplo desarrollamos una aplicacion simple que pueda operar con una base de datos SqLite.
  SqLite es una base de datos que se utiliza en muchos dispositivos desde pc a movil, es sencilla de manejar, como veremos a continuacion.
  Crearemos una aplicacion que permita introducir codigo, nombre e importe de ventas, como si se gestionaran los datos de vendedores.
  Bajo estas lineas pongo imagen de la actividad a crear, junto con el video.   


  video explicativo

  Empezamos:
  Creamos una nueva clase con el siguiente codigo.
package ejemplos.android;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class GestionSQLiteOpenHelper extends SQLiteOpenHelper {
    public GestionSQLiteOpenHelper(Context context, String nombre, CursorFactory factory, int version) {
        super(context, nombre, factory, version);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table empleados(codigo integer primary key, nombre text, importe double)");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int versionAnte, int versionNue) {
        db.execSQL("drop table if exists empleados");
        db.execSQL("create table empleados(cogigo integer primary key, nombre text, importe double)");      
    }  
}

  Despues introducimos el codigo de la clase principal:

package ejemplos.android;

import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
    private EditText et1, et2, et3;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et1 = (EditText) findViewById(R.id.et1);
        et2 = (EditText) findViewById(R.id.et2);
        et3 = (EditText) findViewById(R.id.et3);
      }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    public void alta(View v) {
        GestionSQLiteOpenHelper gestion = new GestionSQLiteOpenHelper(this,
                "gestion", null, 1);
        SQLiteDatabase bd = gestion.getWritableDatabase();
        String codigo = et1.getText().toString();
        String nombre = et2.getText().toString();
        String importe = et3.getText().toString();
      
        ContentValues registro = new ContentValues();
        registro.put("codigo", codigo);
        registro.put("nombre", nombre);
        registro.put("importe", importe);
        bd.insert("empleados", null, registro);
        bd.close();
        et1.setText("");
        et2.setText("");
        et3.setText("");
        Toast.makeText(this, "Se cargaron los datos de la persona",
                Toast.LENGTH_SHORT).show();
    }
    public void consulta(View v) {
        GestionSQLiteOpenHelper gestion = new GestionSQLiteOpenHelper(this,
                "gestion", null, 1);
        SQLiteDatabase bd = gestion.getWritableDatabase();
        String codigo = et1.getText().toString();
        Cursor fila = bd.rawQuery(
                "select nombre,importe from empleados where codigo=" + codigo, null);
        if (fila.moveToFirst()) {
            et2.setText(fila.getString(0));
            et3.setText(fila.getString(1));
        } else
            Toast.makeText(this, "No existe una persona con dicho codigo",
                    Toast.LENGTH_SHORT).show();
        bd.close();
    }
    public void baja(View v) {
        GestionSQLiteOpenHelper gestion = new GestionSQLiteOpenHelper(this,
                "gestion", null, 1);
        SQLiteDatabase bd = gestion.getWritableDatabase();
        String codigo = et1.getText().toString();
        int cant = bd.delete("empleados", "codigo=" + codigo, null);
        bd.close();
        et1.setText("");
        et2.setText("");
        et3.setText("");
        if (cant == 1)
            Toast.makeText(this, "Se borró la persona con dicho documento",
                    Toast.LENGTH_SHORT).show();
        else
            Toast.makeText(this, "No existe una persona con dicho documento",
                    Toast.LENGTH_SHORT).show();
    }
    public void modificacion(View v) {
        GestionSQLiteOpenHelper gestion = new GestionSQLiteOpenHelper(this,
                "gestion", null, 1);
        SQLiteDatabase bd = gestion.getWritableDatabase();
        String codigo = et1.getText().toString();
        String nombre = et2.getText().toString();
        String importe = et3.getText().toString();
        ContentValues registro = new ContentValues();
        registro.put("nombre", nombre);
        registro.put("importe", importe);
        int cant = bd.update("empleados", registro, "codigo=" + codigo, null);
        bd.close();
        if (cant == 1)
            Toast.makeText(this, "se modificaron los datos", Toast.LENGTH_SHORT).show();
        else
            Toast.makeText(this, "no existe una persona con dicho codigo",
                    Toast.LENGTH_SHORT).show();
    }
}
En el codigo se introducen los metodos que se ejecutan al pulsar los botones, con el mismo nombre que introducimos en el evento click de cada boton.
Aparece tambien el evento Toast que permite realizar mensajes al usuario durante unos segundos.
En la primera clase se crea la tabla empleados con los campos indicados.
El codigo es autoexplicativo.
No olvidar nunca que despues de cualquier operacion hay que cerrar la base de datos con close, al igual que con los archivos como veremos en otra ocasion.