繁体   English   中英

处理 Android ZD52387880E1EA22817A72D3759213 中的驱动器 rest API 的错误

[英]Handling errors for drive rest API in Android Java Application

我已经成功实现了驱动器 Rest API,一切似乎都正常。 如果出现问题(连接丢失等),我感到困惑的是如何处理错误。 我假设这些错误很常见,那么我是否可以将标准响应添加到我的 addOnFailureListener() 中,或者我是否为所有可能的错误编写代码。 处理 REST 错误的最佳实践是什么。

主要活动:

public void doRestore(int position){
    progressDialog = ProgressDialog.show(this, null, getString(R.string.backup_restore_message), false, false);
    mDriveServiceHelper.restoreFile(data.get(position).getId()).
            addOnSuccessListener(new OnSuccessListener<Void>() {
                @Override
                public void onSuccess(Void aVoid) {               
                    progressDialog.dismiss();
                    finish();
                    Intent i = new Intent(BackupNew.this, Splash.class);
                    startActivity(i);
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    progressDialog.dismiss();
                    // What do I add here???
                }
            });
}

助手 class:

public Task<Void> restoreFile(final String fileId) {
    return Tasks.call(mExecutor, new Callable<Void>() {
        @Override
        public Void call() throws Exception {
            InputStream is = mDriveService.files().get(fileId).executeMediaAsInputStream();
            FileOutputStream myOutput = new FileOutputStream(context.getDatabasePath("appData"));
            byte[] buffer = new byte[1024];
            int length;
            while ((length = is.read(buffer)) > 0) {
                myOutput.write(buffer, 0, length);
            }
            myOutput.flush();
            myOutput.close();
            is.close();
            return null;
        }
    });
}

您可以打印堆栈跟踪消息以进行调试。 似乎 api 没有返回任何类型的消息,但如您所知,如果它失败了,那么您可以显示您自己的错误消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM