-4

我用cursorget data from database,但是里面有一些不必要的数据。我想知道如何准确显示我想显示的数据,而不是我从数据库中获取的所有数据,我在查询数据库时无法判断这个,拿到数据后才能处理,希望app能在拿到数据后自动过滤数据。

新编辑

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

4

1 回答 1

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条件的您想要的ORDER内容。null用于替换?您在查询中使用的 (如 Java 的)PreparedStatement

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

于 2012-11-16T10:24:41.013 回答