「レストラン」を保存するために SQLite データベースを使用しています。レストランとその属性を追加しようとしていますが、SD カードから SQLite データベースへの画像パスを保存しようとすると、実行時例外が発生します。
これがコードです。
examinar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
}
});
agregar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String nombre1 = String.valueOf(nombre.getText());
String tipo1 = tipo;
String direccion1 = String.valueOf(direccion.getText());
String descripcion1 = String.valueOf(descripcion.getText());
Toast.makeText(getApplicationContext(),
"ruta : +" + imagen1, Toast.LENGTH_SHORT)
.show();
if (nombre1.length() != 0 && tipo1.length() != 0 && direccion1.length() != 0 && descripcion1.length() != 0 && imagen1.length() != 0) {
dataSource.insertarRestaurant1(nombre1, tipo1, direccion1, imagen1, descripcion1);
setResult(RESULT_OK);
finish();
Toast.makeText(getApplicationContext(),
"Insertado exitosamente", Toast.LENGTH_SHORT)
.show();
} else {
Toast.makeText(getApplicationContext(),
"Debe llenar todos los campos", Toast.LENGTH_SHORT)
.show();
}
}
});
cancelar.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
nombre.setText(" ");
//tipo.setText(" ");
direccion.setText(" ");
descripcion.setText(" ");
//imagen.setText(" ");
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
String filePath = selectedImage.getEncodedPath();
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
imagen1 = filePath;
cursor.close();
Toast.makeText(getApplicationContext(),
"ruta : +" + filePath, Toast.LENGTH_SHORT)
.show();
}
}
}