android에서 ePub 파일을 만들려고합니다. 아래는 내 소스 코드입니다.ePub를 만들 수 없습니다.
하지만 내가 자산 폴더에 cover.png
및 test1.html
을 넣었습니다
epubWriter.write(book, out);
에서 NullPointerException
을 얻고있다.
*.css
에 대한,
mimetype
,
META-INF/container.xml
,
OEBPS/*.opf
,
*.otf
파일?
ePub 파일을 만들어야하나요?
내가 파일을 만들 수 있어요하지만 그건 내가 장치에서 해당 파일을 끌어와 구경에서 볼하려고 할 때 추측 적절한 형식이 아닌, 그것은 다음과 같은 오류
를 제공함으로써 열리지 않는calibre, version 0.8.38 ERROR: Could not open ebook: File is not a zip file
전적으로 ePub 개발 초보자이므로 도움/제안을 보내 주시면 감사하겠습니다.
CreateEPub.java
public class CreateEPub extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AssetManager assetManager = getAssets();
try {
Book book = new Book();
book.getMetadata().addTitle("Epub test book 1");
book.getMetadata().addAuthor(new Author("Joe", "Tester"));
InputStream is = assetManager.open("cover.png");
book.getMetadata().setCoverImage(new Resource(is, "cover.png"));
// Add Chapter 1
InputStream is1 = assetManager.open("test1.html");
book.addSection("Introduction", new Resource(is1, "chapter1.html"));
EpubWriter epubWriter = new EpubWriter();
epubWriter.write(book, new FileOutputStream("test1_book1.epub"));
Log.v("ePub", "Created");
} catch (Exception e) {
e.printStackTrace();
}
}
}
로그 캣
java.lang.NullPointerException
at org.kxml2.io.KXmlSerializer.attribute(KXmlSerializer.java:473)
at nl.siegmann.epublib.epub.PackageDocumentMetadataWriter.writeMetaData(PackageDocumentMetadataWriter.java:93)
at nl.siegmann.epublib.epub.PackageDocumentWriter.write(PackageDocumentWriter.java:45)
at nl.siegmann.epublib.epub.EpubWriter.writePackageDocument(EpubWriter.java:112)
at nl.siegmann.epublib.epub.EpubWriter.write(EpubWriter.java:53)
at com.createepub.CreateEPub.onCreate(CreateEPub.java:91)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
주 CreateEPub 라인 (91)가 참조하는 epubWriter.write(book, out);
가능한 [Android에서 EPub 파일 만들기] (http://stackoverflow.com/questions/9174375/create-epub-file-in-android) –
예. 죄송합니다 : (... – GAMA