2012-10-30 74 views
-2

我有一个关于日期选择器功能的问题。如何日期选择器的值保存到SQLite数据库

如何保存日期选择器来SQLite数据库的价值?

假设我创建一个按钮来设置日期和一个按钮来保存到数据库...

main.java

public class main extends Activity implements OnClickListener { 

private Calendar dateTime=Calendar.getInstance(); 
     private SimpleDateFormat dateFormatter = new SimpleDateFormat("MMMM dd, yyyy"); 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.addshoppinglist); 

     mSaveBttn = (Button) findViewById(R.id.saveBttn); 
     mSetDateBttn = (Button) findViewById(R.id.shoppingDate); 
     mCancelBttn = (Button) findViewById(R.id.cancelBttn); 
     mSaveBttn.setOnClickListener(this); 

     mSetDateBttn.setOnClickListener(this); 
     mCancelBttn.setOnClickListener(this); 
     helper = new ProductDatabaseHelper(this); 
     model = helper.getAll(); 
    } 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     switch (v.getId()) { 
     case R.id.saveBttn: 


      break; 

     case R.id.cancelBttn: 
      Intent mainIntent = (new Intent(AddShoppingList.this, main.class)); 
      startActivity(mainIntent); 

      break; 

     case R.id.shoppingDate: 
      showDialog(DIALOG_DATE); 

     } 
    } 
protected Dialog onCreateDialog(int id){ 
     switch(id){ 
     case DIALOG_DATE: 
      return new DatePickerDialog(this,new OnDateSetListener(){ 


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

        mSetDateBttn.setText(dateFormatter 
          .format(dateTime.getTime())); 

       } 
      } ,dateTime.get(Calendar.YEAR), 
       dateTime.get(Calendar.MONTH), 
       dateTime.get(Calendar.DAY_OF_MONTH)); 



     } 

} 

有谁知道如何保存日期格式的数据库?

回答

2

您可以通过以下方式完成此操作。

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); 

    } 

现在使用你的数据库的辅助类使用数据库it.For插入值读取this post

+0

真的THX的帮助......感谢...... – jacky

+0

随时欢迎花花公子:) – Akshay

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

保存这些不同的列日柱,月柱年柱

OR 为了Date对象从一个datepicker使用此代码

new Date(datePicker.getYear() - 1900, datePicker.getMonth(), datePicker.getDayOfMonth()); 

时间使用这些方法

getCurrentHour() getCurrentMinute()

1

我只是想出了一个简单的方法,因为我无法找到答案搜索。只是做像在实施的功能onDateSet,做自定义函数insertDate

@Override 
public void onDateSet (DatePicker view, int year, int month, int dayOfMonth) { 



    Calendar cal = new GregorianCalendar(year , month ,dayOfMonth); 
    DateFormat Dateformat = DateFormat.getDateInstance(DateFormat.MEDIUM); 
    String date = Dateformat.format(cal.getTime()); 

TextView dateText = (TextView) findViewById(R.id.dateVAl); 
    dateText.setText("JUST ADDED DATE "+ date); 

    godUri = insertDate(year, month, dayOfMonth); 
} 

private Uri insertDate( int year , int month , int dayOfMonth ) 
{ 
    ContentValues values = new ContentValues(); 
    values.put(dateContract.DateEntry.COLUMN_YEAR , year ); 
    values.put(dateContract.DateEntry.COLUMN_MONTH , month); 
    values.put(dateContract.DateEntry.COLUMN_DAY , d`enter code here`ayOfMonth); 

    //getContentResolver().insert( dateContract.DateEntry.CONTENT_URI , values); 

    dateDbHelper myDbHelper = new dateDbHelper(getApplicationContext()); 
    SQLiteDatabase database = myDbHelper.getWritableDatabase(); 
    long rowId = database.insert(dateContract.DateEntry.TABLE_NAME, null, values); 
    return ContentUris.withAppendedId(dateContract.DateEntry.CONTENT_URI , rowId); 

} 

该对象godUri(没有双关意)被宣布为全局变量。 我创建了Uri对象godUri存储只是DatePicker.It保存日期的URI可以来得心应手一样,发送该URI通过意图另一个活动。

如果你想看到的我是如何创造了这个整个活动的日期选择器的完整代码...去这个link。 我上面提到的其他一切都是由我修改的。

相关问题