StorageController.java 文件源码

java
阅读 29 收藏 0 点赞 0 评论 0

项目:slide 作者:
@Override
protected Boolean doInBackground(Void... params) {
    PdfDocument document = new PdfDocument();
    ParcelFileDescriptor pfd = null;
    try {
        PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(640, 640 * 9 / 16, 1).create();

        for (Slide slide : store.getState().slides()) {
            PdfDocument.Page page = document.startPage(pageInfo);
            page.getCanvas().drawColor(Style.COLOR_SCHEMES[store.getState().colorScheme()][1]);
            slide.render(mContext,
                    page.getCanvas(),
                    page.getCanvas().getWidth(), page.getCanvas().getHeight(),
                    Style.SLIDE_FONT,
                    Style.COLOR_SCHEMES[App.getState().colorScheme()][0],
                    Style.COLOR_SCHEMES[App.getState().colorScheme()][1],
                    true);
            document.finishPage(page);
        }

        pfd = mContext.getContentResolver().openFileDescriptor(uri, "w");
        if (pfd != null) {
            FileOutputStream fos = new FileOutputStream(pfd.getFileDescriptor());
            document.writeTo(fos);
            return true;
        } else {
            return false;
        }
    } catch (IOException e) {
        e.printStackTrace();
        return false;
    } finally {
        document.close();
        if (pfd != null) {
            try { pfd.close(); } catch (IOException ignored) {}
        }
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号