Взгляните на исходный код здесь export-a-sqlite-database-to-an-xml-file-in-android
Единственное изменение, которое я должен был сделать (чтобы остановить несколько предупреждений Eclipse), это закрыть курсор в методе exportData (). Чтобы сделать код более переносимым, я также передал XML-файл и местоположение в качестве аргумента, а не в качестве объявленного конечного поля.
Код записывает файл XML на SD-карту. Теперь @mmaitlen, который перечислил исходный код в своем блоге, не добавляет никаких функций для проверки существования внешнего блока хранения. Так что вам остается делать.
Однако вы можете встроить некоторый простой код, чтобы проверить наличие записываемой карты памяти со следующим фрагментом (не проверено):
sdOkToWrite = false;
String sdTest = Environment.getExternalStorageState();
if (sdTest.equals(Environment.MEDIA_MOUNTED)) {
sdOkToWrite = true;
} else {
// Here's where you can code what to do without the external storage
}
Тестирование для внешнего хранилища полезно, если у вас есть большие файлы для создания, которые могут превышать внутреннюю емкость.