summaryrefslogtreecommitdiffstats
path: root/docs/html/training/secure-file-sharing/index.jd
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/training/secure-file-sharing/index.jd')
-rw-r--r--docs/html/training/secure-file-sharing/index.jd80
1 files changed, 80 insertions, 0 deletions
diff --git a/docs/html/training/secure-file-sharing/index.jd b/docs/html/training/secure-file-sharing/index.jd
new file mode 100644
index 0000000..19a1042
--- /dev/null
+++ b/docs/html/training/secure-file-sharing/index.jd
@@ -0,0 +1,80 @@
+page.title=Sharing Files
+
+trainingnavtop=true
+startpage=true
+
+
+@jd:body
+
+<div id="tb-wrapper">
+<div id="tb">
+
+<h2>Dependencies and prerequisites</h2>
+<ul>
+ <li>Android 1.6 (API Level 4) or higher</li>
+ <li>Familiarity with file operations such as opening, reading, and writing files</li>
+</ul>
+
+<h2>You should also read</h2>
+<ul>
+ <li><a href="{@docRoot}guide/topics/data/data-storage.html">Storage Options</a></li>
+ <li><a href="{@docRoot}training/basics/data-storage/files.html">Saving Files</a>
+ <li><a href="{@docRoot}training/sharing/index.html">Sharing Simple Data</a></li>
+</ul>
+
+</div>
+</div>
+
+<p>
+ Apps often have a need to offer one or more of their files to another app. For example, an image
+ gallery may want to offer files to image editors, or a file management app may want to allow
+ users to copy and paste files between areas in external storage. One way a sending app can
+ share a file is to respond to a request from the receiving app.
+</p>
+<p>
+ In all cases, the only secure way to offer a file from your app to another app is to send the
+ receiving app the file's content URI and grant temporary access permissions to that URI.
+ Content URIs with temporary URI access permissions are secure because they apply only to the
+ app that receives the URI, and they expire automatically. The Android
+ {@link android.support.v4.content.FileProvider} component provides the method
+ {@link android.support.v4.content.FileProvider#getUriForFile getUriForFile()} for
+ generating a file's content URI.
+</p>
+<p>
+ If you want to share small amounts of text or numeric data between apps, you should send an
+ {@link android.content.Intent} that contains the data. To learn how to send simple data with an
+ {@link android.content.Intent}, see the training class
+ <a href="{@docRoot}training/sharing/index.html">Sharing Simple Data</a>.
+</p>
+<p>
+ This class explains how to securely share files from your app to another app using content URIs
+ generated by the Android {@link android.support.v4.content.FileProvider} component and
+ temporary permissions that you grant to the receiving app for the content URI.
+</p>
+<h2>Lessons</h2>
+<dl>
+ <dt><b><a href="setup-sharing.html">Setting Up File Sharing</a></b></dt>
+ <dd>
+ Learn how to set up your app to share files.
+ </dd>
+ <dt><b><a href="share-file.html">Sharing a File</a></b></dt>
+ <dd>
+ Learn how to offer a file to another app by generating a content URI for the file,
+ granting access permissions to the URI, and sending the URI to the app.
+ </dd>
+ <dt><b><a href="request-file.html">Requesting a Shared File</a></b></dt>
+ <dd>
+ Learn how to request a file shared by another app, receive the content URI for the file,
+ and use the content URI to open the file.
+ </dd>
+ <dt>
+ <b><a href="retrieve-info.html">Retrieving File Information</a></b>
+ </dt>
+ <dd>
+ Learn how an app can use a content URI generated by a
+ {@link android.support.v4.content.FileProvider} to retrieve file information including
+ MIME type and file size.
+ </dd>
+</dl>
+
+