2011-12-25 12 views
4

ブラックベリーのためのEpubリーダーアプリを開始するヒントを教えてください。ブラックベリーのepubファイルを読む

私はそれを行うための最も簡単な方法が欲しいですか?&を読むことができるブラウザまたはUIコンポーネントはありますか?

サーバーからダウンロードして、ユーザーに表示してそれを読むことができます。

+0

それは難しいですか? –

+0

あなたは助けを求められました... e-PubはZIP、HTML、CSSに基づいています。 OS V5.0以降、HTMLをレンダリングするBrowserFieldがあります。 BB OSのすべてのバージョンでは、HTTPを使用してファイルを取得できます。 – Richard

+0

申し訳ありません、epubファイルについて読んでいる間に間違った場所にログインしている可能性があります。私は 'BrowserField'でレンダリングしようとしますが、私の質問を修正するために、RMSDKはepubとpdfを読むことができ、 j2meでは利用できません。移植できるのですか? –

答えて

2

数日前、Epubリーダーライブラリにhereが追加されましたが、使用しようとしましたが、いくつかの問題があります。ファイルシステムからではなくリソースから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")); 

をし、その後、それだけで完全に働きました。

+0

バグを見つけていただきありがとうございます:apiの[最新バージョン](https://sourceforge.net/projects/epubreader-omt/files/)を見つけてください –

関連する問題