Googleドライブのファイルピッカーを設定して、ユーザーが選択したファイルの内容を読み取ることができました。しかし、ユーザーが選択したGoogleドキュメントファイルをテキストファイルとしてダウンロードしてからコンテンツを読むことができるようにしたいと思いますが、Drive Rest APIを使用してこれを行うためのソリューションは見つけられませんでしたAndroid用GoogleドライブAPI私にこれを可能にする解決策はありますか?現在のところ、ファイルをダウンロードするコードは次のとおりです。Android用GoogleドライブAPIを使用してGoogleドキュメントドキュメントをテキストファイルとしてダウンロードする
final private class RetrieveDriveFileContentsAsyncTask
extends ApiClientAsyncTask<DriveId, Boolean, String> {
public RetrieveDriveFileContentsAsyncTask(Context context) {
super(context);
}
@Override
protected String doInBackgroundConnected(DriveId... params) throws IOException {
String contents = null;
DriveId driveId=params[0];
DriveFile file = driveId.asDriveFile();
DriveApi.DriveContentsResult driveContentsResult =
file.open(getGoogleApiClient(), DriveFile.MODE_READ_ONLY, null).await();
if (!driveContentsResult.getStatus().isSuccess()) {
return null;
}
DriveContents driveContents = driveContentsResult.getDriveContents();
BufferedReader reader = new BufferedReader(new InputStreamReader(driveContents.getInputStream()));
StringBuilder builder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
builder.append('\n');
}
contents = builder.toString();
driveContents.discard(getGoogleApiClient());
return contents;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if (result == null) {
return;
}
Intent intent=new Intent(getContext(),NotesActivity.class);
intent.putExtra("setTextTo",result);
startActivity(intent);
}
}
Android APIはREST APIのラッパーであるため、Fileオブジェクトを取得できますか?そして、あなたは文書を開いてその内容を文字列に読むことができますか? –
Googleドキュメントで作成されたファイル以外のファイルの文字列にコンテンツを読み込むことができます。また、私は同じファイルオブジェクトを取得することはできないと思う。 – Daniel
さて、あなたが内容を読むことができれば、それをテキストファイルに書くことができます。だから問題は何ですか? –