Здравствуйте, в моем приложении мне нужно backUp мой файл базы данных на Google Drive учетной записи через класс Intent, я просто создаю файл и отправлю его на «Intent.ACTION_SEND», и пользователю нужно выбрать Google drive. теперь я хочу снова импортировать его с диска Google в мое приложение. Это возможно? и еще одна вещь .. есть способ загрузить его прямо на Google Drive? потому что выбор намерения дает пользователю все варианты.Как загрузить файлы с Google Диска в мое приложение?
вот мой код, как я сохранить его:
@SuppressLint("SdCardPath")
private void exportDB() throws IOException {
// Open your local db as the input stream
try {
String inFileName = "/data/data/com.appsa.work/databases/"+DbHandler.DB_NAME;
File dbFile = new File(inFileName);
FileInputStream fis = new FileInputStream(dbFile);
String outFileName = Environment.getExternalStorageDirectory() + "/work/MyDatabase";
// Open the empty db as the output stream
OutputStream output = new FileOutputStream(outFileName);
// transfer bytes from the inputfile to the outputfile
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
// Close the streams
output.flush();
output.close();
fis.close();
} catch (Exception e) {
Toast.makeText(context, e.toString(), Toast.LENGTH_LONG)
.show();
}
Toast.makeText(context,
"Uploaded.",
Toast.LENGTH_LONG).show();
}
public void sendDb(String mailAddres){
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] {mailAddres});
intent.putExtra(Intent.EXTRA_SUBJECT, "my file");
File root = Environment.getExternalStorageDirectory();
File file = new File(root, "/work/MyDatabase");
if (!file.exists() || !file.canRead()) {
Toast.makeText(context, "no sd_card", Toast.LENGTH_SHORT).show();
return;
}
Uri uri = Uri.parse("file://" + file.getAbsolutePath());
intent.putExtra(Intent.EXTRA_STREAM, uri);
context.startActivity(Intent.createChooser(intent, "Send"));
}