Estou tentando desenvolver um aplicativo para android e gostaria de saber se possui algum codigo
pra abrir(carregar uma imagem) da memoria ou do SD do celular para esse aplicativo.
Sei que em programas java utiliza-se JFileChooser, gostaria de saber se o android possui algo do tipo?
Você primeiramente precisa colocar a imagem em uma das pastas localizada em ‘res’ chamada drawable. Depois, em seu layout coloque um ImageView:
ImageView img;
Dentro do método onCreate você deve instanciar a ImageView com a constante criada no arquivo R.java da identificação que você colocou em seu arquivo de layout:
Feito isso, você pode dizer qual imagem deve ser carregada pelo método passando como parâmetro a constante da sua imagem que você colocou na pasta drawable:
Desse jeito, você na hora de criar o codigo já indica qual imagem será usada.
teria alguma forma que eu pudesse deixar para o programa me dar as opções de imagens a serem selecionadas?
por exemplo: dentro da pasta drawable tem tres imagens, a imagem 1, imagem 2 e imagem 3, quando eu clicar em um botao na aplicação chamado
"selecionar imagem", ele me mostraria as opções de imagens que eu vou poder selecionar.
Se você for pelo pensamento que te disse acima, você pode criar uma nova Activity que transmitirá entre si parâmetros como as constantes da imagem selecionada.
Vou te dar um exemplinho:
// Quando você clicar no botão para selecionar as imagens, você iniciaria a activity pelo método:
startActivityForResult(intent, 1);
//Em sua outra Activity, você mostraria as três imagens em ImagesViews.
ImageView img1, img2, img3;
// E instanciaria as mesmas...
img1 = (ImageView) findViewById(R.id.imageView1);
img2 = (...)
img3 = (...)
// Agora você coloca o evento de click nas ImageView's.
img1.setOnClickListener(new View.onClickListener() {
public onClick(View v) {
switch(v.getId()) {
case R.id.imageView1:
// Guarda na intent que iniciou essa Activity o valor da imagem.
Intent it = getIntent();
it.putExtra("imagem", R.id.imageView1);
setResult(Result_OK);
finish();
case R.id.imageView2:
(...)
}
Quando ele clicar na imagem, ele guardará na Intent depois finalizará a Activity e voltará pra anterior que chamou retornando para o método:
onActivityResult(..., Intent it) {
// APontando para os extras da intent que retornou.
Bundle bd = it.getExtras();
imagemAtualizada.setImageResources(bd.getInt("imagem"));
}
Pronto, ele irá atualizar porque você passou o parâmetro do valor da constante da imagem que está guardada na classe R.java!