Почему не открывается книга в folioReader из internal storage
подскажите пожалуйста как мне открыть книгу формата .epub в FolioReader из storage!
Вот так я записиваю книгу:
if (isExternalStorageWritable() && checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
try {
val progressDialog = ProgressDialog(APP_ACTIVITY)
progressDialog.show()
progressDialog.setCancelable(false)
val file =
requireActivity().getFileStreamPath(book.name.replace(" ", "_") + ".epub")
val writer = FileWriter(file)
GlobalScope.launch(Dispatchers.IO) {
val url = URL(book.fileUrl)
val reader = BufferedReader(InputStreamReader(url.openStream()))
var line = reader.readLine()
val result = StringBuilder()
while (line != null) {
result.append(reader.readLine())
writer.append(result.toString())
line = reader.readLine()
}
writer.flush()
// запись книги в database чтобы вывести её на главном экране
val data = hashMapOf<String, Any>()
data[CHILD_BOOK_FILE_URL] = file.absolutePath
data[CHILD_BOOK_PHOTO_URL] = book.photoUrl
data[CHILD_BOOK_NAME] = book.name
data[CHILD_BOOK_AVTOR] = book.avtor
FIRE_STORE_ROOT.collection(NODE_MY_BOOKS)
.document(AUTH.currentUser!!.uid)
.collection("books")
.add(data)
.addOnSuccessListener {
data[CHILD_BOOK_ID] = it.id
FIRE_STORE_ROOT.collection(NODE_MY_BOOKS)
.document(AUTH.currentUser!!.uid)
.collection("books")
.document(it.id)
.update(data).addOnSuccessListener {
showToast("Вы добавили книги!")
progressDialog.dismiss()
}
}
.addOnFailureListener {
showToast(getString(R.string.some_went_error, it.message))
Log.d("FIREBASE_ERROR", "writeFile(): ${it.message}")
progressDialog.dismiss()
}
}
} catch (e: IOException) {
showToast(getString(R.string.some_went_error, e.message))
e.printStackTrace()
} catch (e: Exception) {
showToast(getString(R.string.some_went_error, e.message))
e.printStackTrace()
}
} else {
showToast("К сожалению на ваш телефон нельзя скачать эту книгу):")
}
Вот так питаюсь вывести:
reader = FolioReader.get()
val fileName = bookPath.split("/")
val file = requireActivity().getFileStreamPath(fileName[fileName.size - 1])
Log.d("FIREBASE_ERROR", "onViewCreated(): $file")
Log.d("FIREBASE_ERROR", "onViewCreated(): ${Environment.getExternalStorageDirectory()}/${context?.packageName}/books/${fileName[fileName.size - 1]}")
Log.d(
"FIREBASE_ERROR",
"onViewCreated(): ${file.path}, ${file.absolutePath}"
)
// reader.openBook("${Environment.getExternalStorageDirectory()}/${context?.packageName}/books/${fileName[fileName.size - 1]}")
reader.openBook(file.absolutePath)