System directories
| Method | Result |
|---|---|
| Environment.getDataDirectory() | /data |
| Environment.getDownloadCacheDirectory() | /cache |
| Environment.getRootDirectory() | /system |
External storage directories
| // UPDATE: Everyone finding this gist via Google! | |
| // Modern kotlinx.coroutines has out-of-the-box support for asyncLazy with the following expression: | |
| // val myLazyValue = async(start = CoroutineStart.LAZY) { ... } | |
| // Use myLazyValue.await() when you need it | |
| // ---------------- public api ---------------- | |
| public interface AsyncLazy<out T> { | |
| public suspend fun value(): T | |
| public fun isInitialized(): Boolean |
| [ | |
| { | |
| "name": "Afghanistan", | |
| "dial_code": "+93", | |
| "code": "AF" | |
| }, | |
| { | |
| "name": "Aland Islands", | |
| "dial_code": "+358", | |
| "code": "AX" |
| new AsyncTask<Integer, Void, Void>(){ | |
| @Override | |
| protected Void doInBackground(Integer... params) { | |
| // main logic | |
| return null; | |
| } | |
| }.execute(0); |
| // Random terminal tip #1 | |
| //You'll see this message if you git commit without a message (-m) | |
| // You can get out of it with two steps: | |
| // 1.a. Type a multi-line message to move foward with the commit. | |
| // 1.b. Leave blank to abort the commit. | |
| // 2. Hit "esc" then type ":wq" and hit enter to save your choice. Viola! | |
| # Please enter the commit message for your changes. Lines starting | |
| # with '#' will be ignored, and an empty message aborts the commit. |
System directories
| Method | Result |
|---|---|
| Environment.getDataDirectory() | /data |
| Environment.getDownloadCacheDirectory() | /cache |
| Environment.getRootDirectory() | /system |
External storage directories