Java 使用驱动器api将sql数据库上载到google驱动器
我想在我的android应用程序中将一个数据库文件上传到Google drive 我可以很好地将数据库文件备份到/sdcard/schoolbinder/backups/notes 我从这个网站开始:Java 使用驱动器api将sql数据库上载到google驱动器,java,android,google-drive-api,Java,Android,Google Drive Api,我想在我的android应用程序中将一个数据库文件上传到Google drive 我可以很好地将数据库文件备份到/sdcard/schoolbinder/backups/notes 我从这个网站开始: 这与我的应用程序中的一样,但它不包含图片而不是文件。关于如何上传文件的任何想法您引用的演示已经有了选择文件的示例 /** * Create a new file and save it to Drive. */ private void saveFileToDrive() { // S
这与我的应用程序中的一样,但它不包含图片而不是文件。关于如何上传文件的任何想法您引用的演示已经有了选择文件的示例
/**
* Create a new file and save it to Drive.
*/
private void saveFileToDrive() {
// Start by creating a new contents, and setting a callback.
Log.i(TAG, "Creating new contents.");
final Bitmap image = mBitmapToSave;
Drive.DriveApi.newDriveContents(mGoogleApiClient)
.setResultCallback(new ResultCallback<DriveContentsResult>() {
@Override
public void onResult(DriveContentsResult result) {
// If the operation was not successful, we cannot do anything
// and must
// fail.
if (!result.getStatus().isSuccess()) {
Log.i(TAG, "Failed to create new contents.");
return;
}
// Otherwise, we can write our data to the new contents.
Log.i(TAG, "New contents created.");
// Get an output stream for the contents.
OutputStream outputStream = result.getDriveContents().getOutputStream();
// Write the bitmap data from it.
ByteArrayOutputStream bitmapStream = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.PNG, 100, bitmapStream);
try {
outputStream.write(bitmapStream.toByteArray());
} catch (IOException e1) {
Log.i(TAG, "Unable to write file contents.");
}
// Create the initial metadata - MIME type and title.
// Note that the user will be able to change the title later.
MetadataChangeSet metadataChangeSet = new MetadataChangeSet.Builder()
.setMimeType("image/jpeg").setTitle("Android Photo.png").build();
// Create an intent for the file chooser, and start it.
IntentSender intentSender = Drive.DriveApi
.newCreateFileActivityBuilder()
.setInitialMetadata(metadataChangeSet)
.setInitialDriveContents(result.getDriveContents())
.build(mGoogleApiClient);
try {
startIntentSenderForResult(
intentSender, REQUEST_CODE_CREATOR, null, 0, 0, 0);
} catch (SendIntentException e) {
Log.i(TAG, "Failed to launch file chooser.");
}
}
});
}
/**
*创建新文件并将其保存到驱动器。
*/
私有void saveFileToDrive(){
//首先创建一个新的内容,并设置一个回调。
Log.i(标记“创建新内容”);
最终位图图像=mBitmapToSave;
Drive.DriveApi.newDriveContents(mgoogleapClient)
.setResultCallback(新的ResultCallback(){
@凌驾
public void onResult(DriveContentsResult结果){
//如果手术不成功,我们什么也做不了
//而且必须
//失败。
如果(!result.getStatus().issucess()){
Log.i(标记“未能创建新内容”);
返回;
}
//否则,我们可以将数据写入新内容。
Log.i(标记“创建的新内容”);
//获取内容的输出流。
OutputStream OutputStream=result.getDriveContents().getOutputStream();
//从中写入位图数据。
ByteArrayOutputStream bitmapStream=新建ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.PNG,100,bitmapStream);
试一试{
write(bitmapStream.toByteArray());
}捕获(IOE1异常){
Log.i(标记“无法写入文件内容”);
}
//创建初始元数据-MIME类型和标题。
//请注意,用户稍后可以更改标题。
MetadataChangeSet MetadataChangeSet=新建MetadataChangeSet.Builder()
.setMimeType(“image/jpeg”).setTitle(“Android Photo.png”).build();
//为文件选择器创建意图,并启动它。
IntentSender IntentSender=Drive.DriveApi
.newCreateFileActivityBuilder()
.setInitialMetadata(metadataChangeSet)
.setInitialDriveContents(结果.getDriveContents())
.构建(mGoogleApiClient);
试一试{
startinentsenderforresult(
intentSender,请求\代码\创建者,null,0,0,0);
}捕获(发送){
Log.i(标记“未能启动文件选择器”);
}
}
});
}
这只是一个叫它的问题。似乎演示程序正在调用摄像头应用程序并返回
图像
。尝试删除onConnected
方法中的if
条件,调用saveFileToDrive
并显示一个文件选择器。看看我做了什么上传部分对我来说毫无意义这段代码在我的问题中在我的应用程序中起作用如果有人知道的话,它只是做图片而不是文件如何将其缩小到doing files中我会全部设置它仍然在您上面发布的代码中查找图像是我所拥有的。我需要将其转换为一个文件,您可以只设置mimeType您想要选择的文件,MetadataChangeSet MetadataChangeSet=new MetadataChangeSet.Builder().setMimeType(“image/jpeg”).setTitle(“Android Photo.png”).build();MimeType可从以下位置引用: