2012-11-08 224 views

回答

1

要获得使用从日期选取器日期此

DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker1); 
int day = datePicker.getDayOfMonth(); 
int month = datePicker.getMonth() + 1; 
int year = datePicker.getYear(); 

设定值数据库

public void onDateSet(DatePicker view,int year,int monthOfYear,int dayOfMonth){ 
      dateTime.set(year,monthOfYear,dayOfMonth); 

    int year = year; // Here you can get day,month and year. 
    int month = monthOfYear; 
    int day = dayOfMonth; 

ContentValues values = new ContentValues() 

values.put("Day",dayOfMonth); 
values.put("Month",monthOfYear); 
values.put("Year",year); 

} 

你可以从数据库教程hereherehere

为了得到当前日期

String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date()); 

设置提醒 可以使用alaram管理器来设置提醒的解决方案,可以发现here

EDIT 2

private class myReminderTask extends AsyncTask<Void, Void, Void>{ 
    ArrayList<String> list = new ArrayList<String>(); 
    @Override 
    protected Void doInBackground(Void... params) { 
     while(true) 
     for(String s : list){ 
      Date d = //Make date from the string obtained from SQL 
      d.toString().equals(DateFormat.getDateTimeInstance().format(new Date())); 

      //Create an alaram or notification 
     } 

     return null; 
    } 

    @Override 
    protected void onPreExecute() { 

     Cursor c = null; 
     c = db.rawQuery("select startDate,endDate from tablename" , null); 

     if (cursor.getCount() != 0) 
      { 
       if (cursor.moveToFirst()) 
       { 
        do 
        { 
         list.add(cursor.getString(cursor.getColumnIndex("FirstDate"))); 
         list.add(cursor.getString(cursor.getColumnIndex("LastDate"))); 
        } while (cursor.moveToNext()); 
       } 
       db.closeDatabase(); 
      } 
      cursor.close(); 

     super.onPreExecute(); 
    } 

} 

AsyncTaskexample here also)上做整个事情,以便主UI线程不被阻塞,在预执行代码数据库获取和在后台做使用while循环,以便它永不结束

这就是我可以让休息你做的工作...就这些,休息你必须寻找和你的方式不要指望我做,并给整个项目

+0

谢谢你,我完成插入stratDate和fromDate在表。但我无法获取日期并检查当前日期,并在应用程序打开时显示一条提醒消息 – Narendra

+0

从数据库检索数据http://anujarosha.wordpress.com/2011/12/19/how-to-retrieve- data-from-a-sqlite-database-in-android /然后将它存储在字符串和'currentDateTimeString .equals(date_retrieved_from_database)'中,如果它的真实值显示提醒 –

+0

谢谢,你能给我任何代码演示来获取日期在字符串数组中存储,然后将其与当前日期进行比较 – Narendra

相关问题