Я занимаюсь разработкой для Android.
Мой вопрос: могу ли я добавить определенное поле записи базы данных в URI?
Пример: предположим, у вас есть таблица памятников в БД SQLite:
_id INTEGER AUTO INCREMENT
name TEXT
location TEXT
picture BLOB
Теперь я хочу получить BLOB-изображение записи с идентификатором 4 и отобразить его; Я могу запросить БД
Bitmap monumentImage = null;
Uri uri = Uri.parse("content://com.my.example/monuments/4");
Cursor c = myContentResolver.query(uri, new String[] {"picture"}, null, null, null);
if (c.moveToFirst()) {
byte[] imageBytes = c.getBlob(0);
if (imageBytes != null) {
monumentImage = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
}
ImageView myImage = findViewById(R.id.whatever);
if (monumentImage != null) {
myImage.setImageBitmap(monumentImage);
}
Теперь мой вопрос: есть ли способ добавить непосредственно столбец записи к URI?
как, имея что-то вроде
Uri uri = Uri.parse("content://com.my.example/monuments/4/picture");
ImageView myImage = findViewById(R.id.whatever);
myImage.setImageURI(uri);
ура!