Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
Índice
Introducción ……………………………………………………………….3
PDM_P3_BD1…………………………………………………………………….4-7
PDM_P3_BDA…………………………………………………………………….8-11
PDM_P3_CANVAS………………………………………………………………12-15
PDM_PROYECTO_FINAL …………………………………………………….16-25
Conclusión………………………………………………………………………26
2
Introducción
La importancia de los dispositivos móviles en la actualidad es que vivimos en
un mundo en constante evolución y desarrollo en el campo de la
programación de los dispositivos móviles.
3
PDM_P3_BD1
En esta primera parte insertamos 3 EditText y 2 Button, para que en los EditText nos
muestre las palabras id, Nombre y Domicilio que se ven en la imagen, se modifica el hint
en la parte de las propiedades es decir ponemos lo que queremos que nos aparezca, se
escribe en hint para que al momento de escribir en el EditText la palabra se borrará sola y
para los Button es en la parte que dice text.
Persona.java
Se cero una clase llamada persona en la cual se crea la base de datos y la tabla.
package com.example.manuel.pdm_p3_bd1;
import android.content.Context;
import android.database.sqlite.SQLiteAbortException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by Manuel on 31/05/2018.
*/
4
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
try {
}
}
MainActivity.java
En esta parte se les explica loque hace cada código en los párrafos de
color gris.
package com.example.manuel.pdm_p3_bd1;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.sql.SQLException;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Id = (EditText) findViewById(R.id.editText);
5
Nombre = (EditText) findViewById(R.id.editText2);
Domicilio = (EditText) findViewById(R.id.editText3);
Insertar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
insertarDatos();
}
});
Mostrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mostrarDatos();
}
});
}
if(res.moveToFirst()==false){
Toast.makeText(this,"No hay resultado tras el select
",Toast.LENGTH_LONG).show();
return;
}
String mensaje ="El nombre es:"+res.getString(1)+"\n y el
domicilio es "+res.getString(2);
Toast.makeText(this,mensaje,Toast.LENGTH_LONG).show();
} catch (android.database.SQLException e) {
Toast.makeText(this,e.getMessage(),Toast.LENGTH_LONG).show();
}
}
6
("+Id.getText().toString()+",'"+ Nombre.getText().toString()+"','"+
Domicilio.getText().toString()+"')";
} catch (android.database.SQLException e) {
Toast.makeText(this, e.getMessage(),
Toast.LENGTH_LONG).show();
}
}
}
Aplicación Funcionando
A continuación se muestra la aplicación ya terminada y
funcionando.
7
PDM_P3_BDA
Persona.java
package com.example.manuel.pdm_p3_bda;
import android.content.Context;
import android.database.sqlite.SQLiteAbortException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.sql.SQLClientInfoException;
/**
* Created by Manuel on 28/05/2018.
*/
@Override
public void onCreate(SQLiteDatabase db) {
try {
db.execSQL("CREATE TABLE PERSONA (ID INTEGER PRIMARY KEY NOT
NULL, " + "NOMBRE VARCHAR (200), PATERNO VARCHAR(200), MATERNO
VARCHAR(200),CARRERA VARCHAR(200),SMESTRE VARCHAR(200),DOMICILIO
VARCHAR(200),CIUDAD VARCHAR(200))");
8
} catch (SQLiteAbortException e) {
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
}
}
MainActivity.java
package com.example.manuel.pdm_p3_bda;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.sql.SQLException;
Persona conexionConSQLite;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Id= (EditText)findViewById(R.id.EditText);
Nombre= (EditText)findViewById(R.id.EditText2);
Ape_paterno = (EditText)findViewById(R.id.EditText3);
Ape_Materno = (EditText)findViewById(R.id.EditText4);
carrera = (EditText)findViewById(R.id.EditText5);
Semestre = (EditText)findViewById(R.id.EditText6);
Domicilio = (EditText)findViewById(R.id.EditText7);
Ciudad = (EditText)findViewById(R.id.EditText8);
Insertar.setOnClickListener(new View.OnClickListener() {
@Override
9
public void onClick(View v) {
insertarDatos();
}
});
Mostrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mostrarDatos();
}
});
try {
SQLiteDatabase db =
conexionConSQLite.getReadableDatabase();
String SQL = "SELECT * FROM PERSONA WHERE ID = " +
Id.getText().toString();
if (res.moveToFirst() == false) {
Toast.makeText(this, "No hay resultados tras el
select", Toast.LENGTH_LONG).show();
return;
}
Toast.makeText(this,e.getMessage(),Toast.LENGTH_LONG).show();
}
}
10
baseDatos.execSQL(SQL);
baseDatos.close();
Toast.makeText(this, "Exito", Toast.LENGTH_SHORT).show();
Nombre.setText("");
Id.setText("");
Ape_paterno.setText("");
Ape_Materno.setText("");
carrera.setText("");
Semestre.setText("");
Domicilio.setText("");
Ciudad.setText("");
}catch(android.database.SQLException e) {
Toast.makeText(this,e.getMessage(),Toast.LENGTH_LONG).show();
}
}
}
Aplicación Funcionando
11
PDM_P3_CANVAS
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.CountDownTimer;
import android.view.MotionEvent;
import android.view.View;
/**
* Created by Manuel on 18/05/2018.
*/
12
public class Lienzo extends View {
//inicializando el timer
timer = new CountDownTimer(20000, 200) {
@Override
public void onTick(long millisUntilFinished) {
moverNombre += 5;
invalidate();
if(moverNombre>800){
moverNombre=-320;
}
}
@Override
public void onFinish() {
//se ejecuta cuando el tiempo total llega a cero
start();
}
};
//se invoca al timer en segundo plano
timer.start();
//introduciendo texto
p.setColor(Color.RED);
13
p.setTextSize(40);
c.drawText("MENDEZ",moverNombre,250,p);
c.drawText("YLSE",moverNombre,300,p);
c.drawText("FABIAN",moverNombre,350,p);
switch (suceso){
case MotionEvent.ACTION_DOWN:
//sucede cuando presiona la pantalla
x=me.getX();
y=me.getY();
case MotionEvent.ACTION_MOVE:
//sucedee cuando, tras haver presionado la pantalla,
mueves el dedo
x = me.getX()-imagen.getWidth()/2;
y =me.getY()-imagen.getHeight()/2;
break;
case MotionEvent.ACTION_UP:
//sucede cuando, tras haver presionado la pantalla, dejas
de hacerlo
}
//metodo que ahace que la imagen cambie de posicion al dar click
en la pantalla
invalidate();
return true;
}
}
14
MainActivity.java
package com.example.manuel.pdm_p3_canvas;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Aplicación Funcionando
15
PDM_PROYECTO_FINAL
Lienzo.java
package com.example.manuel.pdm_proyecto_final;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
16
pantalla
CountDownTimer timer;
super(context);
imagen5 = BitmapFactory.decodeResource(getResources(),
R.drawable.nubes);
Cohete = BitmapFactory.decodeResource(getResources(),
R.drawable.cohete);
x = 100;
y = 532;
movernombre = 50;
moverimagen = -2050;
goomba = -200;
//iniciaizando el timer
timer = new CountDownTimer(2000000000, 1) {
@Override
public void onTick(long millisUntilFinished) {
//Se ejecuta Cuando el lapso llega a ser
movernombre += 3;
invalidate();
if (movernombre > 2000) {
movernombre = -200;
}
}
@Override
public void onFinish() {
//se ejecuta cuando el tiempo total llege a cero
timer.start();
}
};
//Se invoca el timer en segundo plano
timer.start();
//iniciaizando el timer
17
timer = new CountDownTimer(2000000000, 1) {
@Override
public void onTick(long millisUntilFinished) {
//Se ejecuta Cuando el lapso llega a ser
moverimagen -= 3;
invalidate();
if (moverimagen < -200) {
moverimagen = +2000;
@Override
public void onFinish() {
//se ejecuta cuando el tiempo total llege a cero
timer.start();
}
};
//Se invoca el timer en segundo plano
timer.start();
@Override
public void onTick(long millisUntilFinished) {
//Se ejecuta Cuando el lapso llega a ser
moverimg -= 3;
invalidate();
if (moverimg < -200) {
moverimg = +1000;
@Override
public void onFinish() {
//se ejecuta cuando el tiempo total llege a cero
timer.start();
}
};
//Se invoca el timer en segundo plano
timer.start();
@Override
public void onTick(long millisUntilFinished) {
//Se ejecuta Cuando el lapso llega a ser
goomba += 3;
invalidate();
if (goomba > 2000) {
18
goomba = -200;
}
@Override
public void onFinish() {
//se ejecuta cuando el tiempo total llege a cero
timer.start();
}
};
//Se invoca el timer en segundo plano
timer.start();
//Introduciendo texto
p.setColor(Color.BLUE);
p.setTextSize(50);
c.drawText(String.valueOf(imagen3), 40, 500, p);
19
x = me.getX();
y = me.getY();
case MotionEvent.ACTION_MOVE:
//sucede cuando, tras haber presionado la pantalla,
mueves el dedo
x = me.getX() - imagen.getWidth() / 2;
y = me.getY() - imagen.getHeight() / 2;
break;
case MotionEvent.ACTION_UP:
//sucede cuadno, tras haber presionado la pantalla,
dejas de hacerlo
}
return true;
}
MainActivity.java
package com.example.manuel.pdm_proyecto_final;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setContentView(new Lienzo(this));
}
20
public class Lienzo extends View {
Bitmap imagen, imagen2, imagen3, Cohete, imagen5, kopanube,
imagen7, imagen8;
float x, y;
super(context);
x = 100;
y = 532;
mover1 = 50;
mover4 = -200;
cohetito = 0;
//iniciaizando el timer
timer = new CountDownTimer(2000000000, 1) {
@Override
public void onTick(long millisUntilFinished) {
//Se ejecuta Cuando el lapso llega a ser
mover1 += 3;
invalidate();
if (mover1 > 2000) {
mover1 = -200;
}
}
@Override
public void onFinish() {
//se ejecuta cuando el tiempo total llege a cero
timer.start();
}
21
};
//Se invoca el timer en segundo plano
timer.start();
@Override
public void onTick(long millisUntilFinished) {
//Se ejecuta Cuando el lapso llega a ser
cohetito += 15;
invalidate();
if (cohetito > 1000) {
cohetito = -800;
}
@Override
public void onFinish() {
//se ejecuta cuando el tiempo total llege a cero
timer.start();
}
};
//Se invoca el timer en segundo plano
timer.start();
@Override
public void onTick(long millisUntilFinished) {
//Se ejecuta Cuando el lapso llega a ser
mover3 -= 3;
invalidate();
if (mover3 < -200) {
mover3 = +1000;
@Override
public void onFinish() {
//se ejecuta cuando el tiempo total llege a cero
timer.start();
}
};
//Se invoca el timer en segundo plano
timer.start();
22
@Override
public void onTick(long millisUntilFinished) {
//Se ejecuta Cuando el lapso llega a ser
mover4 += 3;
invalidate();
if (mover4 > 1000) {
mover4 = -800;
}
@Override
public void onFinish() {
//se ejecuta cuando el tiempo total llege a cero
timer.start();
}
};
//Se invoca el timer en segundo plano
timer.start();
}
//Introduciendo texto
p.setColor(Color.BLUE);
p.setTextSize(50);
c.drawText(String.valueOf(imagen3), 40, 500, p);
23
int suceso = me.getAction();
switch (suceso) {
case MotionEvent.ACTION_DOWN:
//sucede cuando se PRESIONA la pantalla
x = me.getX();
y = me.getY();
case MotionEvent.ACTION_MOVE:
//sucede cuando, tras haber presionado la pantalla,
mueves el dedo
x = me.getX() - imagen.getWidth() / 2;
y = me.getY() - imagen.getHeight() / 2;
break;
case MotionEvent.ACTION_UP:
//sucede cuadno, tras haber presionado la pantalla,
dejas de hacerlo
}
return true;
}
}
}
24
Aplicación funcionando
25
Conclusión
La enseñanza que nos dejó realizar este manual en este parcial fue que nos
deja más clara las ideas y a lo que hace cada programa que se elaboró, uno
de estos él fue el proyecto final el más importante ya que tu tenías que
programar una pantalla de Mario Bross el cual este tenía que realizar
movimientos si así tu deseabas al principio si fue algo difícil ya que se nos
hacía algo complicado pero como fue pasando los días trabajando en el
proyecto le fuimos entendiendo y ya así nos fuimos apoyamos entre los tres
ya que cada quien tenía ideas diferentes, nos dejó una gran lección la cual es
que nada es imposible si tú te propones a echarle ganas, lo lograras.
Cabe mencionar que entre este proyecto hubo tres trabajos más los cuales
fueron evaluados por el profesor, el de canvas, registros, registros de los
alumnos del salón.
En el de registros solo teníamos que insertar tres tipos de datos el cual fue el
id de la persona, nombre y el domicilio, codificar fue sencillo ya que el profe
nos proyectó el código para que nosotros practicáramos, ya después
nosotros teníamos que hacer un programa donde íbamos a ingresar los datos
de cada uno de nuestros compañeros del salón al igual fue sencillo ya que te
basabas en la práctica que hicimos al principio.
26