Android Можно ли добавить определенное поле записи в URI? - PullRequest
0 голосов
/ 16 мая 2011

Я занимаюсь разработкой для 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);

ура!

1 Ответ

0 голосов
/ 16 мая 2011

Да.Просто используйте собственный контент-провайдер.Там вы сможете разобрать URI.Читайте здесь ,

Создание запроса

.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...