Imágenes de visualización de Android de una carpeta específica en la vista de galería

Estoy tratando de hacer una pequeña aplicación que muestre solo imágenes de una carpeta específica en una vista de galería. He encontrado algunos ejemplos, pero todos y cada uno solo terminan mostrando solo 1 imagen. Este ejemplo que publicaré a continuación fue una ayuda MARAVILLOSA, hace casi exactamente lo que quiero que haga, solo necesito cambiarlo para mostrar las imágenes de la carpeta específica, y no todas las carpetas. Le he dado varios días de intentos, pero parece que no estoy agregando el código correcto. Siento que es una cosa muy simple que también me estoy perdiendo. Cualquier ayuda sería muy apreciada!

public class AndroidCustomGallery extends Activity {

    private int count;
    private Bitmap[] thumbnails;
    private boolean[] thumbnailsselection;
    private String[] arrPath;
    private ImageAdapter imageAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        final String[] columns = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID };

                final String orderBy = MediaStore.Images.Media._ID;

                Cursor  imagecursor = getContentResolver().query(
                        MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,        
                        null, orderBy);




                int image_column_index = imagecursor.getColumnIndex(MediaStore.Images.Media._ID);          
                this.count = imagecursor.getCount();        
                this.thumbnails = new Bitmap[this.count];       
                this.arrPath = new String[this.count];  
                this.thumbnailsselection = new boolean[this.count];

                for (int i = 0; i < this.count; i++) {

                    imagecursor.moveToPosition(i);

                    int id = imagecursor.getInt(image_column_index);        
                    int dataColumnIndex = imagecursor.getColumnIndex(MediaStore.Images.Media.DATA); 

                  thumbnails[i] = MediaStore.Images.Thumbnails.getThumbnail(        
                            getApplicationContext().getContentResolver(), id,       
                            MediaStore.Images.Thumbnails.MICRO_KIND, null);     

                    arrPath[i]= imagecursor.getString(dataColumnIndex);

                }

                GridView imagegrid = (GridView) findViewById(R.id.PhoneImageGrid);      
                imageAdapter = new ImageAdapter();      
                imagegrid.setAdapter(imageAdapter);     
                imagecursor.close();

Respuestas a la pregunta(1)

Su respuesta a la pregunta