· 9 years ago · Jan 08, 2017, 08:12 PM
1@Override
2 protected void onCreate(Bundle savedInstanceState) {
3 super.onCreate(savedInstanceState);
4 setContentView(R.layout.notif_flot);
5
6 datePicker = (DatePicker)findViewById(R.id.datepicker);
7 timePicker = (TimePicker)findViewById(R.id.timepicker);
8 btnStart = (Button)findViewById(R.id.start);
9 uriAlarm = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
10 textonombre = (EditText)findViewById(R.id.textonombre);
11 textodescripcion = (EditText)findViewById(R.id.textodescripcion);
12
13
14
15 btnStart.setOnClickListener(new OnClickListener() {
16 @Override
17 public void onClick(View v) {
18 setAlarm(uriAlarm);
19 Toast.makeText(notif_flot.this, "Alarma ACTIVADA", Toast.LENGTH_SHORT).show();
20 }
21 });
22 }
23
24 private void setAlarm(Uri passuri){
25
26 Calendar cal = Calendar.getInstance();
27 cal.set(datePicker.getYear(),
28 datePicker.getMonth(),
29 datePicker.getDayOfMonth(),
30 timePicker.getCurrentHour(),
31 timePicker.getCurrentMinute(),
32 00);
33 Intent intent = new Intent(getBaseContext(), otrointento.prueba.notif.AlarmReceiver.class);
34 //los extras
35 intent.putExtra("titulo",textonombre.getText().toString());
36 PendingIntent pendingIntent = PendingIntent.getBroadcast(
37 getBaseContext(),
38 RQS_1,
39 intent,
40 PendingIntent.FLAG_CANCEL_CURRENT);
41
42 AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
43 alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
44
45 }
46}
47
48public class DatabaseHandler extends SQLiteOpenHelper{
49 // Ruta por defecto de las bases de datos en el sistema Android.
50 private static String RUTA_BASE_DATOS = "/data/data/otrointento.prueba/databases/";
51
52 // Nombre de la Base de Datos.
53 private static String NOMBRE_BASE_DATOS = "BDBIRTHDAY_INFO";
54
55 // Version de la Base de Datos.
56 private static final int VERSION_BASE_DATOS = 1;
57
58 // Objeto Base de Datos.
59 private SQLiteDatabase base_datos;
60
61 // Objeto Contexto.
62 private Context contexto;
63
64 // Constante privada
65 private String SENTENCIA_SQL_CREAR_BASE_DATOS_PERSONAS = "CREATE TABLE if not exists personas (_id INTEGER PRIMARY KEY autoincrement, " +
66 "nombre TEXT, fecha TEXT, zodiaco TEXT, ruta_imagen TEXT)";
67
68 /**
69 * Constructor
70 * Toma referencia hacia el contexto de la aplicación que lo invoca para poder acceder a los 'assets' y
71 * 'resources' de la aplicación.
72 * Crea un objeto DBOpenHelper que nos permitirá controlar la apertura de la base de datos.
73 * @param context
74 */
75 public DatabaseHandler(Context context) {
76 super(context, NOMBRE_BASE_DATOS, null, VERSION_BASE_DATOS);
77 this.contexto = context;
78 }
79
80 @Override
81 public void onCreate(SQLiteDatabase db) {
82 // Se ejecuta la sentencia SQL de creación de la tabla personas.
83 db.execSQL(SENTENCIA_SQL_CREAR_BASE_DATOS_PERSONAS);
84 }
85
86 @Override
87 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
88 // Se elimina la versión anterior de la tabla Personas.
89 db.execSQL("DROP TABLE IF EXISTS Personas");
90
91 // Se crea la nueva versión de la tabla personas.
92 db.execSQL(SENTENCIA_SQL_CREAR_BASE_DATOS_PERSONAS);
93 }
94
95 /**
96 * Metodo publico para insertar una nueva persona.
97 */
98 public void insertarPersona(Persona persona){
99 ContentValues valores = new ContentValues();
100 valores.put("nombre", persona.getNombre());
101 valores.put("fecha", persona.getFecha());
102 valores.put("zodiaco", persona.getZodiaco());
103 valores.put("ruta_imagen", persona.getRutaImagen());
104 this.getWritableDatabase().insert("Personas", null, valores);
105 }
106
107 /**
108 * Metodo publico para actualizar una persona.
109 */
110 public void actualizarRegistros(int id, String nombre, String fecha, String zodiaco, String ruta_imagen){
111 ContentValues actualizarDatos = new ContentValues();
112 actualizarDatos.put("nombre", nombre);
113 actualizarDatos.put("fecha", fecha);
114 actualizarDatos.put("zodiaco", zodiaco);
115 actualizarDatos.put("ruta_imagen", ruta_imagen);
116 String where = "_id=?";
117 String[] whereArgs = new String[] {String.valueOf(id)};
118
119 try{
120 this.getReadableDatabase().update("Personas", actualizarDatos, where, whereArgs);
121 }
122 catch (Exception e){
123 String error = e.getMessage().toString();
124 }
125 }
126
127 /**
128 * Metodo publico que retorna una persona especifica.
129 * @param id
130 * @return
131 */
132 public Persona getPersona(int p_id) {
133 String[] columnas = new String[]{"_id", "nombre", "fecha", "zodiaco", "ruta_imagen"};
134 Cursor cursor = this.getReadableDatabase().query("Personas", columnas, "_id" + "= " + p_id, null, null, null, null);
135
136 if (cursor != null){
137 cursor.moveToFirst();
138 }
139
140 Persona persona = new Persona(Integer.parseInt(cursor.getString(0)), cursor.getString(1), cursor.getString(2), cursor.getString(3),
141 cursor.getString(4));
142
143 // Retorna la persona especifica.
144 return persona;
145 }
146
147 /**
148 * Metodo publico que cierra la base de datos.
149 */
150 public void cerrar(){
151 this.close();
152 }
153
154 /**
155 * Metodo publico que devuelve todas las personas.
156 * @return
157 */
158 public Cursor obtenerTodasPersonas(){
159 String[] columnas = new String[]{"_id", "nombre", "fecha", "zodiaco", "ruta_imagen"};
160 Cursor cursor = this.getReadableDatabase().query("Personas", columnas, null, null, null, null, null);
161
162 if(cursor != null) {
163 cursor.moveToFirst();
164 }
165 return cursor;
166 }
167
168
169 /**
170 * Metodo publico que elimina una persona especifica.
171 * @param rowId
172 * @return
173 */
174 public boolean eliminaPersona(long id){
175 return this.getWritableDatabase().delete("Personas", "_id" + "=" + id, null) > 0;
176 }
177}