0

私は、Android デバイスの組み込みの画像ギャラリーからランダムな画像を取得して画面に表示する必要があるアプリケーションに取り組んでいます。ここに私が働かなければならないものがあります:

-picture という ImageView オブジェクト -表示したい写真の ID、TITLE、DATA、MIME_TYPE、SIZE

問題は、この行にどの情報を入力する必要があるかわからないことだと思います。

picture.setImageResource(???);

私がやろうとしていることのいくつかのアイデアを提供するためのすべてのコードは次のとおりです。

public void generateImage() {
    // Get list of images accessible by cursor
    ContentResolver cr = getActivity().getContentResolver();
    String[] columns = new String[] {
                    ImageColumns._ID,
                    ImageColumns.TITLE,
                    ImageColumns.DATA,
                    ImageColumns.MIME_TYPE,
                    ImageColumns.SIZE };
    Cursor cursor = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                    columns, null, null, null);

    // Collect Picture IDs
    cursor.moveToFirst();
    ArrayList<Integer> picList = new ArrayList<Integer>();
    while (!cursor.isAfterLast()) {
        picList.add(cursor.getInt(0));
        cursor.moveToNext();
    }// end for

    // Generate random number
    int imageCount = picList.size() - 1;
    Log.d("NUMBER OF IMAGES", "Image Count = " + imageCount);
    Random random = new Random();
    int randomInt = random.nextInt(imageCount);


    // Extract the image
    int picID = picList.get(randomInt);
    picture.setImageResource(picID);

}// end Generate Image

画像オブジェクトをギャラリーから持っている画像に設定するために何をする必要があるか、誰かが知っていますか (できれば、既に取得した情報を使用してください)。

4

2 に答える 2