2

私はコンテンツ プロバイダーの初心者であり、カスタム コンテンツ プロバイダーを理解して作成するために、このドキュメントを参照してきました。

コンテンツ プロバイダーのコンテンツ記述子クラスには、次のようなパスがあります。

public static final String PATH = "tbl_reco_index_contents";
public static final String PATH_FOR_ID = "tbl_reco_index_contents/*";

以下のコードを使用すると、問題なく必要な列からデータを取得できます。

    public static final String AUTHORITY = "com.nyk.launcherprovider";
private static final Uri BASE_URI = Uri.parse("content://" + AUTHORITY);
public static final String PATH = "tbl_reco_index_contents";
public static final Uri CONTENT_URI = BASE_URI.buildUpon().appendPath(PATH).build();
    cur = this.getContentResolver().query(CONTENT_URI, new String[]{
            "reco_index_content_name",
            "reco_index_content_url"
        }, null, null, null);

    cur.moveToFirst();
    for(int i=0;i<cur.getCount();i++){
        System.out.println("Name is:"+cur.getString(10));
        System.out.println("URL is:"+cur.getString(11));
        cur.moveToNext();
    }

ここで where 条件を使用してデータを取得する方法がわかりません。すなわち; のような条件を追加する必要がある場合WHERE user_profile_number = 2 and pkg_name = 'abc'、上記のコードと一緒にそれを処理するにはどうすればよいですか。

どんな助けでも大歓迎です。

4

2 に答える 2