在Google云端硬盘上创建.doc

时间:2017-12-25 16:52:28

标签: google-drive-android-api

我的目标是以编程方式在Google云端硬盘上使用文字和生成的形状创建.doc。

我无法克服的第一个问题是,当我创建doc文件时,生成的文件会保存在Google驱动器上,但无法打开。

在我创建纯文本文件之前,一切正常。

private void createFile() {

        final Task<DriveFolder> rootFolderTask = getDriveResourceClient().getRootFolder();
        final Task<DriveContents> createContentsTask = getDriveResourceClient().createContents();
        Tasks.whenAll(rootFolderTask, createContentsTask)
                .continueWithTask(new Continuation<Void, Task<DriveFile>>() {
                    @Override
                    public Task<DriveFile> then(@NonNull Task<Void> task) throws Exception {
                        DriveFolder parent = rootFolderTask.getResult();

                        final Task<MetadataBuffer> Createlist = getDriveResourceClient().listChildren(parent);

                        DriveContents contents = createContentsTask.getResult();
                      OutputStream outputStream = contents.getOutputStream();
                    try (Writer writer = new OutputStreamWriter(outputStream)) {
                        writer.write("Witaj z nuclearhelperaa");
                    }
                        MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
                                .setTitle("test6")
                              //  .setMimeType("text/plain")
                               .setMimeType("application/msword")
                                .setStarred(true)
                                .build();

                        return getDriveResourceClient().createFile(parent, changeSet, contents);
                    }
                })
                .addOnSuccessListener(this,
                        new OnSuccessListener<DriveFile>() {
                            @Override
                            public void onSuccess(DriveFile driveFile) {
                                showMessage(getString(R.string.file_created,
                                        driveFile.getDriveId().encodeToString()));
                                finish();
                            }
                        })
                .addOnFailureListener(this, new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Log.e(TAG, "Unable to create file", e);
                        showMessage(getString(R.string.file_create_error));
                        finish();
                    }
                });
        // [END create_file]
    }

我的任务可行吗?我的意思是在创建一个doc之后放一些图像格式化的文本和生成的形状(我需要创建包含几个点的非常简单的图片)是可以实现的,如果是的话你知道一些好的库可以实现吗?

0 个答案:

没有答案