作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 skyepub SDK 来阅读我的 epub 书籍。但是当我想阅读 epub 时,我总是出现空白屏幕:
03-26 10:46:11.458: I/System.out(1848): GET '/Alexandre Dumas - Les Trois Mousquetaires/META-INF/container.xml'
03-26 10:46:11.458: I/System.out(1848): HDR: 'user-agent' = 'Dalvik/1.6.0 (Linux; U; Android 4.4.2; Nexus 7 - 4.4.2 - API 19 - 800x1280 Build/KOT49H)'
03-26 10:46:11.458: I/System.out(1848): HDR: 'host' = 'localhost:51005'
03-26 10:46:11.458: I/System.out(1848): HDR: 'accept-encoding' = 'gzip'
03-26 10:46:11.458: I/System.out(1848): HDR: 'connection' = 'Keep-Alive'
03-26 10:46:12.238: W/AwContents(1848): nativeOnDraw failed; clearing to background color.
03-26 10:46:12.242: W/AwContents(1848): nativeOnDraw failed; clearing to background color.
03-26 10:46:12.258: W/AwContents(1848): nativeOnDraw failed; clearing to background color.
我在 Application Android 目录中解压了我想阅读的每一本书,所以我猜它与解压无关。
这是代码:http://pastebin.com/BuC9DJsf
解压类:http://pastebin.com/0ervqUy6
这与互联网权限无关,因为我在我的应用程序 list 中放置了必要的权限(包括互联网权限)。
最佳答案
我遇到了同样的问题。但是我解决了!
很简单,你必须解压epub文件。
解压不需要使用AsyncTask。这是我的解压缩代码:
public static String unzip(String path, String zipname) {
InputStream is;
ZipInputStream zis;
String folderName = null;
try {
String filename;
is = new FileInputStream(path + zipname);
zis = new ZipInputStream(new BufferedInputStream(is));
ZipEntry ze;
byte[] buffer = new byte[1024];
int count;
boolean firstLoop = true;
while ((ze = zis.getNextEntry()) != null) {
// zapis do souboru
filename = ze.getName();
if (firstLoop) {
folderName = filename;
firstLoop = false;
}
// Need to create directories if not exists, or
// it will generate an Exception...
if (ze.isDirectory()) {
File fmd = new File(path + filename);
fmd.mkdirs();
continue;
}
FileOutputStream fout = new FileOutputStream(path + filename);
// cteni zipu a zapis
while ((count = zis.read(buffer)) != -1) {
fout.write(buffer, 0, count);
}
fout.close();
zis.closeEntry();
}
zis.close();
} catch (IOException e) {
e.printStackTrace();
}
return folderName;
}
不要忘记在 BookInformation 上设置 SkyProvider。
SkyProvider skyProvider = new SkyProvider();
book.isDownloaded = true;
book.setFileName(fileName);
book.setBaseDirectory(baseDirectory);
book.setContentProvider(skyProvider);
skyProvider.setBook(book.getBook());
skyProvider.setKeyListener(new KeyDelegate());
book.makeInformation();
关于java - 如何使用 skyepub 阅读 epub 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22658732/
我正在尝试为 android 创建一个 epub 阅读器,所以经过大量搜索后我找到了 skyepub library (SDK)。似乎它具有我想要的所有功能。 我按照站点中的提示进行操作,但是在运行代
我正在使用 Skyepub 在 swift2 中的 iO 上实现 ePub 阅读器。我下载了SDK和示例。创建了一个仅包含一个 ViewController 的项目。 在 ViewDidLoad 上我
我想使用 skyepub SDK 来阅读我的 epub 书籍。但是当我想阅读 epub 时,我总是出现空白屏幕: 03-26 10:46:11.458: I/System.out(1848): GET
我是一名优秀的程序员,十分优秀!