Twój adapter wymaga pracy. W ramach metody getView() zakładasz, że argumenty są identyfikatorami URI. W rzeczywistości argumenty są następujące:
public View getView(final int position, View convertView, final ViewGroup parent) {
...
}
Pierwszy argument to pozycja elementu w widoku siatki, który zamierzasz wyrenderować. Drugi to Widok – który można poddać recyklingowi. A trzeci jest rodzicem widoku. Próbujesz zająć pozycję, prostą liczbę całkowitą i użyć jej jako identyfikatora URI
To, co powinieneś zrobić w swoim getView, to wyciągnięcie obrazu z bazy danych, który odpowiada pozycji "pozycja"
Zobacz ten link, aby uzyskać więcej informacji na temat opracowywania ładowarek do twoich adapterów