Start 2025 on time and up to date. Seamlessly integrate your calendars into Dropbox with these simple steps.

Forum Discussion

alinaybabenko's avatar
alinaybabenko
New member | Level 2
6 years ago

Dropbox Android SDK download File

Hello!

I use Android SDK to create/upload/download file. I've found your example on github.

It works okay. But I have a question about downloading of file.

When I download file (not chane anything in it, just dowloading), I always have "modified_date" is NOW (not the date of last updating of file). Why does modified_date change even on downloading? 

 

  • Greg-DB's avatar
    Greg-DB
    6 years ago

    Can you clarify what 'result' is and where that's coming from? I don't see it getting set in the rest of your code.

    Also, note that 'lastModified' isn't a method for getting file metadata from the Dropbox API. Perhaps you're referring to the downloaded local file? You may instead be looking for  'metadata.getClientModified' or 'metadata.getServerModified'.

  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Staff rankDropbox Staff

    Downloading a file shouldn't change the modified time. I just tried this and I can't reproduce that behavior. 

    Also, note that the API returns file metadata including fields named 'client_modified' and 'server_modified', not 'modified_date'. You can access them via 'getClientModified' and 'getServerModified' in the Dropbox Java SDK, respectively.

    Can you share the version number of the Dropbox SDK you're using, and the full code to reproduce this? Thanks in advance! 

    • alinaybabenko's avatar
      alinaybabenko
      New member | Level 2

      I use 

      com.dropbox.core:dropbox-core-sdk:3.0.11

      This is my code from DownlodingAsyncTask

      FileMetadata metadata = (FileMetadata) mDbxClient.files().getMetadata("SOME_NAME");

      File path = Environment.getExternalStoragePublicDirectory(
      Environment.DIRECTORY_DOWNLOADS);
      File file = new File(path, metadata.getName());

      // Download the file.
      try (OutputStream outputStream = new FileOutputStream(file)) {
      mDbxClient.files().download(metadata.getPathLower(), metadata.getRev())
      .download(outputStream);
      }

      ....

      And when in Activity 

      result.lastModified() is NOW

       Where am I wrong? Thank you in advance.

      • Greg-DB's avatar
        Greg-DB
        Icon for Dropbox Staff rankDropbox Staff

        Can you clarify what 'result' is and where that's coming from? I don't see it getting set in the rest of your code.

        Also, note that 'lastModified' isn't a method for getting file metadata from the Dropbox API. Perhaps you're referring to the downloaded local file? You may instead be looking for  'metadata.getClientModified' or 'metadata.getServerModified'.