如何从数据库中获取数据之前过滤数据?

时间:2012-11-16 08:39:14

标签: android

我使用cursor从数据库中获取数据,但是其中有一些不必要的数据。我想知道如何准确显示我想要显示的数据,而不是我从数据库中获取的数据,我可以'在查询数据库时判断这个,只有在我拿出数据后才能处理它,希望应用程序在获取数据后自动过滤数据。

新编辑

我已经考虑过将所有数据放在一个列表中,使用列表作为数据源。(我在app中使用listView),但是已经有cursoradapter和一些方法,如bindView。如果我添加一个新的适配器,代码将太复杂和杂项。

1 个答案:

答案 0 :(得分:0)

你可以试试像......

private static final Uri SMS_URI = Uri.parse("content://sms");
private static final String[] COLUMNS = new String[] {"date", "address", "body", "type"};
private static final String WHERE = "type = 2";
private static final String ORDER = "date DESC";

// ...
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(SMS_URI, COLUMNS, WHERE + " AND date > " +
            timeLastChecked, null, ORDER);

这使您可以查询content://sms,并在您所描述的COLUMNS处仅返回符合WHERE条件的ORDERnull用于替换您在查询中使用的?(例如Java的PreparedStatement)。

更多信息:http://developer.android.com/reference/android/content/ContentResolver.html