你能告诉我如何启动黑莓的EPUB阅读器应用程序吗?
我希望找到最简单的方式来实现,是否有任何浏览器或UI组件可以读取和显示它?
我想从服务器下载它,然后向用户展示以便阅读。
你能告诉我如何启动黑莓的EPUB阅读器应用程序吗?
我希望找到最简单的方式来实现,是否有任何浏览器或UI组件可以读取和显示它?
我想从服务器下载它,然后向用户展示以便阅读。
几天前,这里添加了一个Epub阅读器库(链接)。我尝试使用它,但遇到了一些困难。它只能从资源中打开Epub,而不能从文件系统中打开。因此,我决定下载源代码并进行一些适应性调整。 首先,我编写了一个小函数来将Epub文件作为流打开:
public static InputStream GetFileAsStream(String fName) {
FileConnection fconn = null;
DataInputStream is = null;
try {
fconn = (FileConnection) Connector
.open(fName, Connector.READ_WRITE);
is = fconn.openDataInputStream();
} catch (IOException e) {
System.out.println(e.getMessage());
return is;
然后,我更改了在com.omt.epubreader.domain.epub.java
中打开文件的调用方式,如下所示:
public Book getBook(String url)
{
InputStream in = ConnectionController.GetFileAsStream(url);
...
return book;
}
之后,我成功读取了文件,但是出现了一个问题,它无法读取章节,也就是 .html
文件,所以我进行了一次短暂的调试会话,在找到问题之前,写那个库的人留下了读取 .html 文件名的代码空白,在 com.omt.epubreader.parser.NcxParser
中是这样的:
private void getBookNcxInfo()
{
...
if(pars.getEventType() == XmlPullParser.START_TAG &&
pars.getName().toLowerCase().equals(TAG_CONTENT))
{
if(pars.getAttributeCount()>0)
{
}
}
...
}
我刚刚在 if
语句中添加了这行代码:
contentDataFileName.addElement(pars.getAttributeValue("", "src"));
BrowserField
来渲染它,但是为了解决我的问题,我读到RMSDK可以读取epub和pdf,但它不适用于j2me,它能被移植吗? - Abed HawaEPUB出版物3.0,定义了EPUB出版物的出版级语义和总体一致性要求。 EPUB内容文档3.0,定义了XHTML、SVG和CSS的配置文件,用于EPUB出版物的上下文中。 EPUB开放式容器格式(OCF)3.0,定义了一种文件格式和处理模型,用于将一组相关资源封装到单个文件(ZIP)EPUB容器中。 EPUB媒体叠加层3.0,定义了一种文本和音频同步的格式和处理模型。
- Richard