Приведенный ниже код помогает сохранить растровое изображение в галерее.
public static void addImageToGallery (final String filePath, final Context context) {
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis());
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
values.put(MediaStore.MediaColumns.DATA, filePath);
context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
}
Да, вот пример от спецификации XQuery.:
"Соединения, которые комбинируют данные из многочисленных источников в единственный результат, являются очень важным типом запроса. В этом разделе мы проиллюстрируем, как несколько типов соединений могут быть выражены в XQuery. Мы будем основывать наши примеры на следующих трех документах:
parts.xml
это содержит многих part
элементы; каждый part
элемент в свою очередь содержит partno
и description
подэлементы.suppliers.xml
это содержит многих supplier
элементы; каждый supplier
элемент в свою очередь содержит suppno
и suppname
подэлементы.catalog.xml
это содержит информацию об отношениях между поставщиками и частями. Документ каталога содержит многих item
элементы, каждый из которых в свою очередь содержит partno
, suppno
, и price
подэлементы.Стандартное ("внутреннее") соединение возвращает информацию из двух или больше связанных источников, как проиллюстрировано следующим примером, который комбинирует информацию из трех документов. Пример генерирует "описательный каталог", полученный на основании документа каталога, но содержащий описания детали вместо номеров деталей и имена поставщика вместо чисел поставщика. Новый каталог заказан в алфавитном порядке описанием детали и во вторую очередь именем поставщика.*
<descriptive-catalog>
{
for $i in fn:doc("catalog.xml")/items/item,
$p in fn:doc("parts.xml")/parts/part[partno = $i/partno],
$s in fn:doc("suppliers.xml")/suppliers
/supplier[suppno = $i/suppno]
order by $p/description, $s/suppname
return
<item>
{
$p/description,
$s/suppname,
$i/price
}
</item>
}
</descriptive-catalog>
Предыдущий запрос возвращает информацию только о частях, которые имеют поставщиков и поставщиков, которые имеют части. Внешнее объединение является соединением, которое сохраняет информацию из одного или нескольких участвующих источников, включая элементы, которые не имеют никакого элемента соответствия в другом источнике. Например, левое внешнее объединение между поставщиками и частями могло бы возвратить информацию о поставщиках, которые не имеют никаких частей соответствия."
Обратите внимание, что XQuery не имеет стандартного документа () функцией (это - функция XSLT), и вместо этого имеет документ () функция, которая является частью "XQuery 1.0 и Функций XPath 2.0 и Операторов".
Существует по крайней мере две ошибки в ответе Chris:
fn
"префикс.В XQuery, если Вы пишете что-то как следующее:
for $x in doc('doc1.xml')//a
for $y in doc('doc2.xml')//a
where $x/@name = $y/@name
return $x
затем Ваш процессор XQuery должен быть достаточно умным для определения этого, это - соединение.
Вы никогда явно указываете в XQuery, что что-то - соединение. Общая тема в XQuery - то, что в Вашей программе говорится, какую информацию Вы хотите, не, как вычислить его.
Хотя может быть похоже, что Вы неоднократно - цикличное выполнение по второму документу на практике, реальный процессор XQuery выполнил бы это более разумно, примерно аналогичный следующему SQL-оператору (мой SQL очень ржав, таким образом, я приношу извинения, является ли этот синтаксис абсолютно неправильным),
SELECT doc1.a
FROM doc1 INNER JOIN doc2
WHERE doc1.name = doc2.name
Сравнительный тест XMark содержит несколько демонстрационных запросов, они определенно стоят взгляда. В особенности запросы 9 - 12 выполняют соединения.