SafHelper

Open source Android library for files writing on SD card.

License

License

GroupId

GroupId

ru.bartwell
ArtifactId

ArtifactId

safhelper
Last Version

Last Version

1.0.1
Release Date

Release Date

Type

Type

aar
Description

Description

SafHelper
Open source Android library for files writing on SD card.
Project URL

Project URL

https://github.com/bartwell/SafHelper
Source Code Management

Source Code Management

https://github.com/bartwell/SafHelper.git

Download safhelper

How to add to project

<!-- https://jarcasting.com/artifacts/ru.bartwell/safhelper/ -->
<dependency>
    <groupId>ru.bartwell</groupId>
    <artifactId>safhelper</artifactId>
    <version>1.0.1</version>
    <type>aar</type>
</dependency>
// https://jarcasting.com/artifacts/ru.bartwell/safhelper/
implementation 'ru.bartwell:safhelper:1.0.1'
// https://jarcasting.com/artifacts/ru.bartwell/safhelper/
implementation ("ru.bartwell:safhelper:1.0.1")
'ru.bartwell:safhelper:aar:1.0.1'
<dependency org="ru.bartwell" name="safhelper" rev="1.0.1">
  <artifact name="safhelper" type="aar" />
</dependency>
@Grapes(
@Grab(group='ru.bartwell', module='safhelper', version='1.0.1')
)
libraryDependencies += "ru.bartwell" % "safhelper" % "1.0.1"
[ru.bartwell/safhelper "1.0.1"]

Dependencies

compile (2)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib jar 1.2.70
com.android.support » appcompat-v7 jar 27.1.0

Project Modules

There are no modules declared in this project.

SafHelper

Open source Android library for files writing on SD card.

Features

SafHelper using Storage Access Framework (SAF) to retrieve permission, create directories and write files on SD card.

Integration

Add dependency in build.gradle:

compile 'ru.bartwell:safhelper:1.0.0'

Usage

private lateinit var safHelper: SafHelper

private fun onButtonClick() {
    writeFile(true)
}

private fun writeFile(requestPermissions: Boolean) {
    val userFile = File(main_path.text.toString())

    if (userFile.parent == null) {
        showToast("Wrong path")
    } else {
        safHelper = SafHelper(this, userFile.parent)
        if (safHelper.isApplicable()) {
            if (safHelper.isPermissionGranted()) {
                try {
                    if (safHelper.mkdirs(userFile.parent)) {
                        val outputStream = safHelper.createFile(userFile.path)
                        outputStream.use {
                            it.write("Text in the file".toByteArray())
                        }
                        showToast("Success")
                    }
                } catch (e: Exception) {
                    e.printStackTrace()
                    showToast("Error: " + e.message)
                }
            } else {
                if (requestPermissions) {
                    safHelper.requestPermissions(this)
                } else {
                    showToast("Permissions not granted")
                }
            }
        } else {
            showToast("File is not on SD Card or Android version < 5.0")
        }
    }
}

override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
    if (safHelper.onActivityResult(this, requestCode, resultCode, resultData)) {
        writeFile(false)
    }
}

License

Copyright © 2018 Artem Bazhanov

SafHelper is provided under an Apache 2.0 License.

Versions

Version
1.0.1
1.0.0