· 9 years ago · Jan 17, 2017, 08:34 PM
1private void eliminarPersona(int id_persona){
2 // Objetos.
3 AlertDialog.Builder mensaje_dialogo = new AlertDialog.Builder(this);
4
5 // Variables.
6 final int v_id_persona = id_persona;
7
8 mensaje_dialogo.setTitle("Importante");
9 mensaje_dialogo.setMessage("¿Está seguro de eliminar esta persona?");
10 mensaje_dialogo.setCancelable(false);
11 mensaje_dialogo.setPositiveButton("Confirmar", new DialogInterface.OnClickListener() {
12 public void onClick(DialogInterface dialogo1, int id) {
13 try{
14 baseDatos.eliminaPersona(v_id_persona);
15
16 recuperarTodasPersonas();
17 }catch(Exception e){
18 Toast.makeText(getApplicationContext(), "Error al eliminar!", Toast.LENGTH_SHORT).show();
19 e.printStackTrace();
20 }finally{
21 baseDatos.cerrar();
22 }
23 }
24 });
25 mensaje_dialogo.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
26 public void onClick(DialogInterface dialogo1, int id) {
27 recuperarTodasPersonas();
28 }
29 });
30 mensaje_dialogo.show();
31}
32
33public class MainActivity extends AppCompatActivity {
34
35 // Objetos.
36 private DatabaseHandler baseDatos;
37 private ImagenAdapter cursorAdapter;
38 private ListView listViewPersonas;
39
40
41 // Constantes privadas.
42 private int CODIGO_RESULT_EDITAR_PERSONA = 0;
43 private static final String SAMPLE_DB_NAME = "BDBIRTHDAY_INFO";
44 private static final String SAMPLE_TABLE_NAME = "Personas";
45
46 @Override
47 protected void onCreate(Bundle savedInstanceState) {
48 super.onCreate(savedInstanceState);
49 setContentView(R.layout.activity_main);
50 listViewPersonas = (ListView) findViewById(R.id.listViewPersonas);
51 // Se recuperan todas las personas de la base de datos.
52 recuperarTodasPersonas();
53 // Asociamos los menús contextuales al listViewPersonas.
54 registerForContextMenu(listViewPersonas);
55 }
56 /**
57 * Metodo publico que se sobreescribe. En este metodo crearmos el menu contextual
58 * para el ListView de personas.
59 */
60 @Override
61 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){
62 super.onCreateContextMenu(menu, v, menuInfo);
63 android.view.MenuInflater inflater = getMenuInflater();
64 AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
65 inflater.inflate(R.menu.opciones_personas, menu);
66 }
67
68 /**
69 * Metodo publico que se sobreescribe. En este metodo colocamos las acciones de las opciones del menu contextual
70 * para el ListView de personas.
71 */
72 @Override
73 public boolean onContextItemSelected(android.view.MenuItem item) {
74 AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
75
76 switch (item.getItemId()) {
77 case R.id.menu_contextual_editar_persona:
78 editarPersona((int)info.id);
79 return true;
80 case R.id.menu_contextual_eliminar_persona:
81 eliminarPersona((int)info.id);
82 recuperarTodasPersonas();
83 return true;
84 default:
85 return super.onContextItemSelected((android.view.MenuItem) item);
86 }
87 }
88
89 @Override
90 protected void onStart(){
91 super.onStart();
92 }
93
94 @Override
95 protected void onResume(){
96 super.onResume();;
97 }
98
99 /**
100 * Metodo privado que recupera todos las personas existentes de la base de datos.
101 */
102 private void recuperarTodasPersonas() {
103 try{
104 baseDatos = new DatabaseHandler(this);
105
106 // Devuelve todas las personas en el objeto Cursor.
107 Cursor cursor = baseDatos.obtenerTodasPersonas();
108
109 String[] from = new String[]{
110 "nombre",
111 "fecha",
112 "zodiaco",
113 "ruta_imagen"
114 };
115
116 int[] to = new int[]{
117 R.id.persona_nombre,
118 R.id.persona_fecha,
119 R.id.persona_zodiaco,
120 R.id.foto_gallery,
121 };
122 cursorAdapter = new ImagenAdapter(this, cursor, from, to);
123 listViewPersonas.setAdapter(cursorAdapter);
124 }catch(Exception e){
125 Log.d("Error", "El mensaje de error es: " + e.getMessage());
126 }finally{
127 // Se cierra la base de datos.
128 baseDatos.cerrar();
129 }
130 }
131
132 /**
133 * Metodo publico que edita una persona.
134 * @param p_id
135 */
136 public void editarPersona(int p_id){
137 // Si el p_id es 0, entonces se crea una nueva persona.
138 if(p_id == 0){
139 // Se dirige a la actividad EditarPersonaActivity.
140 Intent actividad_editarPersona = new Intent(MainActivity.this, EditarPersonaActivity.class);
141 startActivityForResult(actividad_editarPersona, CODIGO_RESULT_EDITAR_PERSONA);
142 }else{
143 // Recupera una persona especifica.
144 Persona persona;
145
146 try{
147 persona = baseDatos.getPersona(p_id);
148
149 // Se dirige a la actividad EditarPersonaActivity.
150 Intent actividad_editarPersona = new Intent(this, EditarPersonaActivity.class);
151
152 // Se le coloca parametros para enviar a la actividad EditarPersonaActivity.
153 actividad_editarPersona.putExtra("id", p_id);
154 actividad_editarPersona.putExtra("nombre", persona.getNombre());
155 actividad_editarPersona.putExtra("fecha", persona.getFecha());
156 actividad_editarPersona.putExtra("zodiaco", persona.getZodiaco());
157 actividad_editarPersona.putExtra("ruta_imagen", persona.getRutaImagen());
158
159 startActivityForResult(actividad_editarPersona, CODIGO_RESULT_EDITAR_PERSONA);
160 }catch (Exception e){
161 Toast.makeText(getApplicationContext(), "Error al editar", Toast.LENGTH_SHORT).show();
162 e.printStackTrace();
163 }finally{
164 baseDatos.cerrar();
165 }
166 }
167 }
168
169 /**
170 * Metodo privado que elimina una persona.
171 * @param id_persona
172 */
173 private void eliminarPersona(int id_persona){
174 // Objetos.
175 AlertDialog.Builder mensaje_dialogo = new AlertDialog.Builder(this);
176
177 // Variables.
178 final int v_id_persona = id_persona;
179
180 mensaje_dialogo.setTitle("Importante");
181 mensaje_dialogo.setMessage("¿Está seguro de eliminar esta persona?");
182 mensaje_dialogo.setCancelable(false);
183 mensaje_dialogo.setPositiveButton("Confirmar", new DialogInterface.OnClickListener() {
184 public void onClick(DialogInterface dialogo1, int id) {
185 try{
186 baseDatos.eliminaPersona(v_id_persona);
187
188 recuperarTodasPersonas();
189 }catch(Exception e){
190 Toast.makeText(getApplicationContext(), "Error al eliminar!", Toast.LENGTH_SHORT).show();
191 e.printStackTrace();
192 }finally{
193 baseDatos.cerrar();
194 }
195 }
196 });
197 mensaje_dialogo.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
198 public void onClick(DialogInterface dialogo1, int id) {
199 recuperarTodasPersonas();
200 }
201 });
202 mensaje_dialogo.show();
203 }
204
205 @Override
206 protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
207 super.onActivityResult(requestCode, resultCode, intent);
208 recuperarTodasPersonas();
209 }
210}
211
212public class EditarPersonaActivity extends Activity {
213 // Objetos.
214 private Button butonLimpiar;
215 private Button butonGuardar;
216 private EditText editTextNombre;
217 private EditText editTextFecha;
218 private EditText editTextZodiaco;
219 private DatabaseHandler baseDatos;
220 private Bundle extras;
221 private ImageView imagenPersona;
222 private Mensaje mensaje;
223 private int dia;
224 private int mes;
225 private int año;
226 private static final int TIPO_DIALOGO = 0;
227 private static DatePickerDialog.OnDateSetListener SelectorFecha;
228 Uri uriAlarm;
229 // Variables.
230 private String ruta_imagen; // La ruta de la imagen que el usuario eligio
231 // para la imagen de su persona.
232 private int SELECCIONAR_IMAGEN = 237487;
233 private int notification_id;
234 // Constantes privadas.
235 private static final int FECHA_DIALOGO_ID = 0;
236 String[] zodiaco = {"Acuario (Ene. 20 - Feb. 18)", "Piscis (Feb. 19 - Marzo 20)", "Aries (Marzo 31 - Abril 19)", "Tauro (Abril 20 - Mayo 20)", "Géminis (Mayo 21 - Junio 20)", "Cáncer (Junio 21 - Julio 22)", "Leo (Julio 23 - Agosto 22)", "Virgo (Agosto 23 - Sep. 22)", "Libra (Sep. 23 - Oct. 22)", "Escorpio (Oct. 23 - Nov. 21)", "Sagitario (Nov. 22 - Dic. 21)", "Capricornio (Dic. 22 - Ene. 19)"};
237 int flags[] = {R.drawable.icon_zod_acuario, R.drawable.icon_zod_piscis, R.drawable.icon_zod_aries, R.drawable.icon_zod_tauro, R.drawable.icon_zod_geminis, R.drawable.icon_zod_cancer, R.drawable.icon_zod_leo, R.drawable.icon_zod_virgo, R.drawable.icon_zod_libra, R.drawable.icon_zod_escorpio, R.drawable.icon_zod_sagitario, R.drawable.icon_zod_capricornio};
238
239 @RequiresApi(api = Build.VERSION_CODES.N)
240 @Override
241 public void onCreate(Bundle savedInstanceState) {
242 super.onCreate(savedInstanceState);
243 setContentView(R.layout.editar_persona);
244
245 // Hace referencia a los objetos xml.
246 butonGuardar = (Button) findViewById(R.id.botonGuardar);
247 butonLimpiar = (Button) findViewById(R.id.botonLimpiar);
248 editTextNombre = (EditText) findViewById(R.id.editTextNombre);
249 editTextFecha = (EditText) findViewById(R.id.editTextFecha);
250 editTextZodiaco = (EditText) findViewById(R.id.editTextZodiaco);
251 imagenPersona = (ImageView) findViewById(R.id.imagenPersona);
252 uriAlarm = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
253
254 Calendar calendario = Calendar.getInstance();
255 dia = calendario.get(Calendar.DAY_OF_MONTH);
256 mes = calendario.get(Calendar.MONTH);
257 año = calendario.get(Calendar.YEAR);
258 mostrarFecha();
259 SelectorFecha = new DatePickerDialog.OnDateSetListener() {
260 @Override
261 public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
262 dia = dayOfMonth;
263 mes = month;
264 año = year;
265 mostrarFecha();
266 }
267 };
268
269 }
270
271 @Override
272 protected Dialog onCreateDialog(int id) {
273 switch (id) {
274 case 0:
275 return new DatePickerDialog(this, SelectorFecha, dia, mes, año);
276 }
277 return null;
278 }
279
280 public void mostrarCalendario(View control) {
281 showDialog(TIPO_DIALOGO);
282 }
283
284
285 public void mostrarFecha() {
286 editTextFecha.setText(dia + "/" + (mes + 1) + "/" + año);
287
288 // Se crea el objeto mensaje.
289 mensaje = new Mensaje(getApplicationContext());
290
291 // Recupera en un Objeto Bundle si tiene valores que fueron pasados como
292 // parametro de una actividad.
293 extras = getIntent().getExtras();
294
295
296 if (estadoEditarPersona()) {
297 editTextNombre.setText(extras.getString("nombre"));
298 editTextFecha.setText(extras.getString("fecha"));
299 editTextZodiaco.setText(extras.getString("zodiaco"));
300 ruta_imagen = extras.getString("ruta_imagen");
301 }
302
303 // Agrega nuevo registro de una persona.
304 butonGuardar.setOnClickListener(new View.OnClickListener() {
305 public void onClick(View v) {
306 if (verificarCampoNombre() && verificarCampoFecha()
307 && verificarCampoZodiaco()) {
308 if (estadoEditarPersona()) {
309 editarPersona();
310 } else {
311 try {
312 notification_id = (int) insertarNuevoPersona();
313 setAlarm(uriAlarm, notification_id);
314 } catch (Exception e) {
315 e.printStackTrace();
316 }
317
318 }
319 // Finaliza la actividad EditarPersonaActivity.
320 finish();
321 } else {
322 if (editTextNombre.getText().toString().equals("")) {
323 mensaje.mostrarMensajeCorto("Introduzca un Nombre");
324 }
325 if (editTextFecha.getText().toString().equals("")) {
326 mensaje.mostrarMensajeCorto("Introduzca una Fecha");
327 }
328 if (editTextZodiaco.getText().toString().equals("")) {
329 mensaje.mostrarMensajeCorto("Introduzca su Zodiaco");
330 }
331 }
332 }
333 });
334
335
336 // Limpia los campos.
337 butonLimpiar.setOnClickListener(new View.OnClickListener() {
338 public void onClick(View v) {
339 limpiarCampos();
340 }
341 });
342 }
343
344 /**
345 * Metodo privado que limpia los campos.
346 */
347 private void limpiarCampos() {
348 editTextNombre.setText("");
349 editTextFecha.setText("");
350 editTextZodiaco.setText("");
351 }
352
353 /**
354 * Metodo privado que verifica que se cambio el valor de Nombre o no está en
355 * blanco (vacio).
356 */
357 private boolean verificarCampoNombre() {
358 if (editTextNombre.getText().toString().equals("")) {
359 return false;
360 }
361 return true;
362 }
363
364 /**
365 * Metodo privado que verifica que se cambio el valor de Fecha o no
366 * está en blanco (vacio).
367 */
368 private boolean verificarCampoFecha() {
369 if (editTextFecha.getText().toString().equals("")) {
370 return false;
371 }
372 return true;
373 }
374
375 /**
376 * Metodo privado que verifica que se cambio el valor de la Zodiaco o no está
377 * en blanco (vacio).
378 */
379 private boolean verificarCampoZodiaco() {
380 if (editTextZodiaco.getText().toString().equals("")) {
381 return false;
382 }
383 return true;
384 }
385
386 /**
387 * Metodo privado que insertar una nueva Persona.
388 */
389 private long insertarNuevoPersona() {
390 long personaId = -1;
391 baseDatos = new DatabaseHandler(EditarPersonaActivity.this);
392
393 try {
394 // Crear objeto Persona.
395 Persona persona = new Persona(editTextNombre.getText().toString(),
396 editTextFecha.getText().toString(), editTextZodiaco
397 .getText().toString(), ruta_imagen);
398
399 // Se inserta una nueva persona.
400 personaId = baseDatos.insertarPersona(persona);
401 } catch (Exception e) {
402 mensaje.mostrarMensajeCorto("Error, por favor empieza de nuevo");
403 e.printStackTrace();
404 } finally {
405 // Se cierra la base de datos.
406 baseDatos.cerrar();
407 }
408 return personaId;
409 }
410
411 /**
412 * Metodo privado que edita una persona existente.
413 */
414 private void editarPersona() {
415 baseDatos = new DatabaseHandler(EditarPersonaActivity.this);
416
417 try {
418 // Crear objeto persona.
419 int id = extras.getInt("id");
420
421 Persona persona = new Persona(id, editTextNombre.getText()
422 .toString(), editTextFecha.getText().toString(),
423 editTextZodiaco.getText().toString(), ruta_imagen);
424
425 baseDatos.actualizarRegistros(id, persona.getNombre(),
426 persona.getFecha(), persona.getZodiaco(),
427 persona.getRutaImagen());
428 setAlarm(uriAlarm, id);
429 mensaje.mostrarMensajeCorto("Se edito correctamente");
430 } catch (Exception e) {
431 mensaje.mostrarMensajeCorto("Error al querer editarlo, por favor intentelo de nuevo");
432 e.printStackTrace();
433 } finally {
434 baseDatos.cerrar();
435 }
436 }
437
438 /**
439 *
440 */
441 public boolean estadoEditarPersona() {
442 // Si extras es diferente a null es porque tiene valores. En este caso
443 // es porque se quiere editar una persona.
444 if (extras != null) {
445 return true;
446 } else {
447 return false;
448 }
449 }
450
451
452 private void setAlarm(Uri passuri, int notification_id) throws ParseException {
453
454 System.currentTimeMillis();
455 SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm", Locale.getDefault());
456 java.util.Calendar cal = java.util.Calendar.getInstance();
457 cal.setTime(sdf.parse(editTextFecha.getText().toString()));
458 Intent intent = new Intent(getBaseContext(), otrointento.dos.notif.AlarmReceiver.class);
459 //los extras
460 intent.putExtra("titulo", editTextNombre.getText().toString());
461 PendingIntent pendingIntent = PendingIntent.getBroadcast(
462 getBaseContext(),
463 notification_id,
464 intent,
465 PendingIntent.FLAG_UPDATE_CURRENT);
466
467 AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
468 alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
469
470 }
471
472 @Override
473 public boolean onOptionsItemSelected(MenuItem item) {
474 switch (item.getItemId()) {
475 case android.R.id.home:
476 Intent intent = new Intent(this, MainActivity.class);
477 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
478 startActivity(intent);
479
480 // Cerrar EditarPersonaActivity.
481 EditarPersonaActivity.this.finish();
482
483 return true;
484 default:
485 return super.onOptionsItemSelected(item);
486 }
487 }
488
489 @Override
490 protected void onDestroy() {
491 super.onDestroy();
492
493 // Coloco todos los objetos en null.
494 imagenPersona = null;
495
496 // LLama al recolector de basura.
497 System.gc();
498
499 }
500}
501
502public class DatabaseHandler extends SQLiteOpenHelper{
503 // Ruta por defecto de las bases de datos en el sistema Android.
504 private static String RUTA_BASE_DATOS = "/data/data/otrointento.dos/databases/";
505
506 // Nombre de la Base de Datos.
507 private static String NOMBRE_BASE_DATOS = "BDBIRTHDAY_INFO";
508
509 // Version de la Base de Datos.
510 private static final int VERSION_BASE_DATOS = 1;
511
512 // Objeto Base de Datos.
513 private SQLiteDatabase base_datos;
514
515 // Objeto Contexto.
516 private Context contexto;
517
518 // Constante privada
519 private String SENTENCIA_SQL_CREAR_BASE_DATOS_PERSONAS = "CREATE TABLE if not exists personas (_id INTEGER PRIMARY KEY autoincrement, " +
520 "nombre TEXT, fecha TEXT, zodiaco TEXT, ruta_imagen TEXT)";
521
522 /**
523 * Constructor
524 * Toma referencia hacia el contexto de la aplicación que lo invoca para poder acceder a los 'assets' y
525 * 'resources' de la aplicación.
526 * Crea un objeto DBOpenHelper que nos permitirá controlar la apertura de la base de datos.
527 * @param context
528 */
529 public DatabaseHandler(Context context) {
530 super(context, NOMBRE_BASE_DATOS, null, VERSION_BASE_DATOS);
531 this.contexto = context;
532 }
533
534 @Override
535 public void onCreate(SQLiteDatabase db) {
536 // Se ejecuta la sentencia SQL de creación de la tabla personas.
537 db.execSQL(SENTENCIA_SQL_CREAR_BASE_DATOS_PERSONAS);
538 }
539
540 @Override
541 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
542 // Se elimina la versión anterior de la tabla Personas.
543 db.execSQL("DROP TABLE IF EXISTS Personas");
544
545 // Se crea la nueva versión de la tabla personas.
546 db.execSQL(SENTENCIA_SQL_CREAR_BASE_DATOS_PERSONAS);
547 }
548
549 /**
550 * Metodo publico para insertar una nueva persona.
551 */
552 public long insertarPersona(Persona persona){
553 ContentValues valores = new ContentValues();
554 valores.put("nombre", persona.getNombre());
555 valores.put("fecha", persona.getFecha());
556 valores.put("zodiaco", persona.getZodiaco());
557 valores.put("ruta_imagen", persona.getRutaImagen());
558 return this.getWritableDatabase().insert("Personas", null, valores);
559 }
560
561 /**
562 * Metodo publico para actualizar una persona.
563 */
564 public void actualizarRegistros(int id, String nombre, String fecha, String zodiaco, String ruta_imagen){
565 ContentValues actualizarDatos = new ContentValues();
566 actualizarDatos.put("nombre", nombre);
567 actualizarDatos.put("fecha", fecha);
568 actualizarDatos.put("zodiaco", zodiaco);
569 actualizarDatos.put("ruta_imagen", ruta_imagen);
570 String where = "_id=?";
571 String[] whereArgs = new String[] {String.valueOf(id)};
572
573 try{
574 this.getReadableDatabase().update("Personas", actualizarDatos, where, whereArgs);
575 }
576 catch (Exception e){
577 String error = e.getMessage().toString();
578 }
579 }
580
581 /**
582 * Metodo publico que retorna una persona especifica.
583 * @param id
584 * @return
585 */
586 public Persona getPersona(int p_id) {
587 String[] columnas = new String[]{"_id", "nombre", "fecha", "zodiaco", "ruta_imagen"};
588 Cursor cursor = this.getReadableDatabase().query("Personas", columnas, "_id" + "= " + p_id, null, null, null, null);
589
590 if (cursor != null){
591 cursor.moveToFirst();
592 }
593
594 Persona persona = new Persona(Integer.parseInt(cursor.getString(0)), cursor.getString(1), cursor.getString(2), cursor.getString(3),
595 cursor.getString(4));
596
597 // Retorna la persona especifica.
598 return persona;
599 }
600
601 /**
602 * Metodo publico que cierra la base de datos.
603 */
604 public void cerrar(){
605 this.close();
606 }
607
608 /**
609 * Metodo publico que devuelve todas las personas.
610 * @return
611 */
612 public Cursor obtenerTodasPersonas(){
613 String[] columnas = new String[]{"_id", "nombre", "fecha", "zodiaco", "ruta_imagen"};
614 Cursor cursor = this.getReadableDatabase().query("Personas", columnas, null, null, null, null, null);
615
616 if(cursor != null) {
617 cursor.moveToFirst();
618 }
619 return cursor;
620 }
621
622
623 /**
624 * Metodo publico que elimina una persona especifica.
625 * @param rowId
626 * @return
627 */
628 public boolean eliminaPersona(long id){
629 return this.getWritableDatabase().delete("Personas", "_id" + "=" + id, null) > 0;
630 }
631}
632
633public long insertarPersona(Persona persona){
634 ContentValues valores = new ContentValues();
635 valores.put("nombre", persona.getNombre());
636 valores.put("fecha", persona.getFecha());
637 valores.put("zodiaco", persona.getZodiaco());
638 valores.put("ruta_imagen", persona.getRutaImagen());
639 return this.getWritableDatabase().insert("Personas", null, valores);
640}
641
642private long insertarNuevoPersona() {
643 long personaId = -1;
644 baseDatos = new DatabaseHandler(EditarPersonaActivity.this);
645
646 try {
647 // Crear objeto Persona.
648 Persona persona = new Persona(editTextNombre.getText().toString(),
649 editTextFecha.getText().toString(), editTextZodiaco
650 .getText().toString(), ruta_imagen);
651
652 // Se inserta una nueva persona.
653 personaId = baseDatos.insertarPersona(persona);
654 } catch (Exception e) {
655 mensaje.mostrarMensajeCorto("Error, por favor empieza de nuevo");
656 e.printStackTrace();
657 } finally {
658 // Se cierra la base de datos.
659 baseDatos.cerrar();
660 }
661 return personaId;
662}
663
664
665butonGuardar.setOnClickListener(new View.OnClickListener() {
666 public void onClick(View v) {
667 if (verificarCampoNombre() && verificarCampoFecha()
668 && verificarCampoZodiaco()) {
669 if (estadoEditarPersona()) {
670 editarPersona();
671 } else {
672 try {
673 notification_id = (int)insertarNuevoPersona();
674 setAlarm(uriAlarm, notification_id);
675 } catch (Exception e) {
676 e.printStackTrace();
677 }
678
679 }
680 // Finaliza la actividad EditarPersonaActivity.
681 finish();
682 } else {
683 if (editTextNombre.getText().toString().equals("")) {
684 mensaje.mostrarMensajeCorto("Introduzca un Nombre");
685 }
686 if (editTextFecha.getText().toString().equals("")) {
687 mensaje.mostrarMensajeCorto("Introduzca una Fecha");
688 }
689 if (editTextZodiaco.getText().toString().equals("")) {
690 mensaje.mostrarMensajeCorto("Introduzca su Zodiaco");
691 }
692 }
693 }
694 });
695
696private void editarPersona() {
697 baseDatos = new DatabaseHandler(EditarPersonaActivity.this);
698
699 try {
700 // Crear objeto persona.
701 int id = extras.getInt("id");
702
703 Persona persona = new Persona(id, editTextNombre.getText()
704 .toString(), editTextFecha.getText().toString(),
705 editTextZodiaco.getText().toString(), ruta_imagen);
706
707 baseDatos.actualizarRegistros(id, persona.getNombre(),
708 persona.getFecha(), persona.getZodiaco(),
709 persona.getRutaImagen());
710 setAlarm(uriAlarm, id);
711 mensaje.mostrarMensajeCorto("Se edito correctamente");
712 } catch (Exception e) {
713 mensaje.mostrarMensajeCorto("Error al querer editarlo, por favor intentelo de nuevo");
714 e.printStackTrace();
715 } finally {
716 baseDatos.cerrar();
717 }
718}