I have been searching on the internet for the better half of 24 hours for a guide to teach me how to make an alarm in android which will go off when it meets the requirements of a specific date, and time stored in a database(which has been defined by the user), and all I find are dead ends.
Is there any chance that I could get some help here? I successfully set up an SQL database, but not the alarm.
The DatabaseHandler class file
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.net.Uri;
import android.widget.AbsoluteLayout;
import java.util.ArrayList;
import java.util.List;
public class DatabaseHandler extends SQLiteOpenHelper{
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "FoodTekTrakr",
DATABASE_TABLE = "AlarmManager",
KEY_ID = "id",
KEY_NAME = "name",
KEY_PHONE = "phone",
KEY_EMAIL = "email",
KEY_ADDRESS = "address";
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL("CREATE TABLE " + DATABASE_TABLE + "(" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_NAME + " TEXT," + KEY_PHONE + " TEXT," + KEY_EMAIL + " TEXT," + KEY_ADDRESS + " TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db,int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
onCreate(db);
}
public void createAlarm(UserInputAlarmData AlarmData){
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_NAME, AlarmData.getName());
values.put(KEY_PHONE, AlarmData.getPhone());
values.put(KEY_EMAIL, AlarmData.getEmail());
values.put(KEY_ADDRESS, AlarmData.getAddress());
db.insert(DATABASE_TABLE, null, values);
db.close();
}
public UserInputAlarmData getAlarmData(int id){
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.query(DATABASE_TABLE, new String[] {KEY_ID, KEY_NAME, KEY_PHONE, KEY_EMAIL, KEY_ADDRESS}, KEY_ID
+ "=?", new String[] {String.valueOf(id) }, null, null, null );
if (cursor != null)
cursor.moveToFirst();
UserInputAlarmData AlarmData = new UserInputAlarmData(Integer.parseInt(cursor.getString(0)), cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getString(4));
db.close();
cursor.close();
return AlarmData;
}
public void deleteAlarm(UserInputAlarmData AlarmData){
SQLiteDatabase db = getWritableDatabase();
db.delete(DATABASE_TABLE, KEY_ID + "=?", new String[] { String.valueOf(AlarmData.getId()) });
db.close();
}
public int getAlarmDataCount() {
SQLiteDatabase db =getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM " + DATABASE_TABLE, null);
int count = cursor.getCount();
db.close();
cursor.close();
return count;
}
public int updateAlarmData(UserInputAlarmData AlarmData){
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_NAME, AlarmData.getName());
values.put(KEY_PHONE, AlarmData.getPhone());
values.put(KEY_EMAIL, AlarmData.getEmail());
values.put(KEY_ADDRESS, AlarmData.getAddress());
return db.update(DATABASE_TABLE, values, KEY_ID + "=?", new String[] { String.valueOf(AlarmData.getId())});
}
public List<UserInputAlarmData> getAllAlarmData() {
List<UserInputAlarmData> AlarmDatas = new ArrayList<UserInputAlarmData>();
SQLiteDatabase db = getWritableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM " + DATABASE_TABLE, null);
if (cursor.moveToFirst()) {
do {
UserInputAlarmData AlarmData = new UserInputAlarmData(Integer.parseInt(cursor.getString(0)), cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getString(4));
AlarmDatas.add(AlarmData);
}
while (cursor.moveToNext());
}
return AlarmDatas;
}
}
The other piece of code for the database handler is called UserInputAlarmData
import android.app.Notification;
import android.net.Uri;
public class UserInputAlarmData {
private int _id;
private String _name, _phone, _email, _address;
public UserInputAlarmData (int id, String name, String phone, String email, String address){
_id = id;
_name = name;
_phone = phone;
_email = email;
_address = address;
}
public String get_Name() {
return _name;
}
public String get_phone() {
return _phone;
}
public String get_email() {
return _email;
}
public String get_address() {
return _address;
}
public int getId() {return _id;}
public String getName() {return _name;}
public String getPhone() {return _phone;}
public String getEmail() {return _email;}
public String getAddress() {return _address;}
}
Aucun commentaire:
Enregistrer un commentaire