Q:

Como selecionar varias imagens do dispositivo e enviar via upload?

Como pego varias imagens a partir do que o usuário selecionar e envio para o banco de dados em mysql por php?
O máximo que conseguiu foi uma única imagem, porem o usuário pode selecionar varias no android e queria enviar para repositório online e salvar os diretórios delas ao mesmo tempo, é possível?

A:

Para selecionar múltiplas imagens use:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
startActivityForResult(Intent.createChooser(intent, "Selecione suas fotos"), SELECT_PICTURES);

Como descrito na documentação:

https://developer.android.com/reference/android/content/Intent#EXTRA_ALLOW_MULTIPLE

E para obter as fotos deve usar o https://developer.android.com/reference/android/content/Intent#getClipData()
E para obter as fotos selecionadas use:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent resultIntent)
{
    super.onActivityResult(requestCode, resultCode, resultIntent);

    if(requestCode == SELECT_PICTURES && resultCode == Activity.RESULT_OK && data.getClipData() != null) {
        int j = data.getClipData().getItemCount();

        for (int i = 0; i < j; i++)  
            Uri imageUri = data.getClipData().getItemAt(i).getUri();

            //Faça o upload aqui
        }
    }
}

Isto fará o upload um a um. claro que a parte do HTTP e do teu servidor é contigo, porque isto depende do que você fez.
Vale lembra que existe o https://square.github.io/retrofit/ que pode ajudar a trabalhar o envio, se tiver pouca experiencia com HTTP (a maioria das pessoas passam anos e realmente não dominam isto, pois é mais complexo do que se diz por ai)
Então se for usar o Retrofit poderia obter as imagens assim:
List<MultipartBody.Part> uploads = new ArrayList<>();

int j = data.getClipData().getItemCount();

for (int i = 0; i < j; i++)  
    File file = new File(data.getClipData().getItemAt(i).getUri());

    RequestBody requestFile = RequestBody.create(MEDIA_TYPE_IMG, file);

    uploads.add(MultipartBody.Part.createFormData("foto[]", file.getName(), requestFile));
}

Note que apliquei foto[], mas realmente não cheguei a testar o "Retrofit 2", se tiver algo errado me avise.

