Android 从SQL数据库中获取月份数据,从微调器中选择月份

Android 从SQL数据库中获取月份数据,从微调器中选择月份,android,sql,database,sqlite,spinner,Android,Sql,Database,Sqlite,Spinner,首先,感谢你抽出时间来看我的问题 这是我的问题,我创建了一个微调器,作为显示月份的字符串数组。 我要做的是在微调器中获取所选月份的数据 微调器: Spinner spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.mnth_array, and

首先,感谢你抽出时间来看我的问题

这是我的问题,我创建了一个微调器,作为显示月份的字符串数组。 我要做的是在微调器中获取所选月份的数据

微调器:

Spinner spinner = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.mnth_array, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
获取日期的方法:

public String getDataDate() {
    // TODO Auto-generated method stub
    String[] columns = new String[] { KEY_ROWIDACTONE, KEY_DATEACTONE,
            KEY_VALUEACTONE, KEY_DESCRIPTIONACTONE };
    Cursor c = ourDatabase.query(DATABASE_TABLEONE, columns, null, null,
            null, null, null);
    String result = "";

    int iRow = c.getColumnIndex(KEY_ROWIDACTONE);
    int iDate = c.getColumnIndex(KEY_DATEACTONE);
    int iValue = c.getColumnIndex(KEY_VALUEACTONE);
    int iDescription = c.getColumnIndex(KEY_DESCRIPTIONACTONE);

    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
        result = result + c.getString(iDate) + "\n ";

    }
    return result;
我想知道的是,我可以从微调器中获取月份,以获取我想要的相应月份的数据

日期格式:

final DatePickerDialog.OnDateSetListener mydate = new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                int dayOfMonth) {
            // TODO Auto-generated method stub
            myCalendar.set(Calendar.YEAR, year);
            myCalendar.set(Calendar.MONTH, monthOfYear);
            myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            updateLabel();
        }

    };

    date.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            new DatePickerDialog(ActoneSQLentry.this, mydate, myCalendar
                    .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                    myCalendar.get(Calendar.DAY_OF_MONTH)).show();
        }
    });

}

private void updateLabel() {

    String myFormat = "dd/MM/yy"; // In which you need put here
    SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);

    date.setText(sdf.format(myCalendar.getTime()));

}

取决于数据库中日期的格式确定,格式为问题的编辑版本!这就是您在数据库中使用的格式吗?这不是一个非常方便的格式。是的!有什么建议吗?对于初学者来说,yy/MM/dd更适合订购或过滤。使用完整的时间戳作为整数会更好,因为不会丢失任何数据。
public String getDataDate() {
    // TODO Auto-generated method stub
    String[] columns = new String[] { KEY_ROWIDACTONE, KEY_DATEACTONE,
            KEY_VALUEACTONE, KEY_DESCRIPTIONACTONE };
    Cursor c = ourDatabase.query(DATABASE_TABLEONE, columns, null, null,
            null, null, null);
    String result = "";

    int iRow = c.getColumnIndex(KEY_ROWIDACTONE);
    int iDate = c.getColumnIndex(KEY_DATEACTONE);
    int iValue = c.getColumnIndex(KEY_VALUEACTONE);
    int iDescription = c.getColumnIndex(KEY_DESCRIPTIONACTONE);

    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
        result = result + c.getString(iDate) + "\n ";

    }
    return result;
final DatePickerDialog.OnDateSetListener mydate = new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                int dayOfMonth) {
            // TODO Auto-generated method stub
            myCalendar.set(Calendar.YEAR, year);
            myCalendar.set(Calendar.MONTH, monthOfYear);
            myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            updateLabel();
        }

    };

    date.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            new DatePickerDialog(ActoneSQLentry.this, mydate, myCalendar
                    .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                    myCalendar.get(Calendar.DAY_OF_MONTH)).show();
        }
    });

}

private void updateLabel() {

    String myFormat = "dd/MM/yy"; // In which you need put here
    SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);

    date.setText(sdf.format(myCalendar.getTime()));

}