aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md59
1 files changed, 59 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f918f2a
--- /dev/null
+++ b/README.md
@@ -0,0 +1,59 @@
+# Oh My SAF
+
+Android [SAF](https://developer.android.com/guide/topics/providers/document-provider) helper.
+
+# Implement
+
+1. Add [maven.yuuta.moe](https://maven.yuuta.moe) repo to your module
+
+2. Add dependency:
+
+```grooxy
+implementation 'moe.yuuta.ohmysaf:ohmysaf:<the latest version>'
+```
+
+# Main Features
+
+* Faster migrate - If you have an old project which uses `java.io.File` a lot and you would like to migrate to SAF, OMG. By using OhMySAF, you can just continue using `File` with a little hack.
+
+# Faster Migrate
+
+Imagine that you have an old project and its file operation codes look like:
+
+```java
+File theFxxkFile = new File("xxx/xxx");
+if (theFxxkFile.isFile()) {
+ theFxxkFile.delete();
+ theFxxkFile.mkdir(); // In fact, SAF does not support that.
+}
+```
+
+If you want to switch to SAF, the normal code will look like:
+
+```java
+// Assume that you've got the URI
+DocumentFile theFxxkFile = DocumentFile.fromTreeUri(context, uri);
+if (theFxxkFile.isFile()) {
+ theFxxkFile.delete();
+ // .....
+}
+```
+
+One day you discovered `OhMySAF`, your problem is solved:
+
+```java
+// Assume that you've got the URI
+
+// Magic
+File theFxxkFile = OhMySAF.ohMyTree(context, uri);
+
+// Just KEEP these old codes!
+if (theFxxkFile.isFile()) {
+ theFxxkFile.delete();
+ theFxxkFile.mkdir(); // In fact, SAF does not support that.
+}
+```
+
+# Licenses
+
+Apache 2.0 \ No newline at end of file