如何正确选择 Cursor android?

How to make correct selection for Cursor android?

我在 android 和 SQLite 方面比较新,所以请不要那么严格:)

我需要 select 数据库中的行,其中某些字符串长度必须大于 5 个符号。

这是我的部分代码:

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    mProgressBar.setVisibility(View.VISIBLE);
    mProgressBar.start();
    return new CursorLoader(
            getActivity(),
            mUri,
            CONTACT_COLUMNS,
            mSelection, null, null
    );
}

所以有什么想法我的 mSelection 应该是什么样子的?

非常感谢大家的建议!

考虑到您要检查电子邮件列的长度,那么查询将是

Cursor c = db.rawQuery("select * from user where length(email)>5",null);

您可以使用下面给出的代码获取光标

第一个参数不同

第二个是table

的名字

第 3 个是字符串数组,其中包含您要 return

的属性名称

第 4 个是 where 子句

了解更多详情query

Cursor cursor = db.query(true, TABLE_NAME, new String[] {
            /* Attributes you want to get seperated by comma */
    }, "length(email)>5", null, null, null, null, null);

如果您想 select 特定列,例如。 NAME 的长度 > 5 ,你可以这样做,

String strSelect = "(("+ NAME + " != '' ) AND ("+"length("+NAME+") > 5 ))" ;

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    mProgressBar.setVisibility(View.VISIBLE);
    mProgressBar.start();
    return new CursorLoader(
            getActivity(),
            mUri,
            CONTACT_COLUMNS,
            strSelect, null, null
    );
}