2014-09-05 2 views
0

Здравствуйте, в моем приложении мне нужно 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")); 
} 

ответ

Смежные вопросы