Home / GitHub Page

Android external storage

Is there a plan for the Android app to support using external storage for data? I see it’s been discussed before in the end I couldn’t figure out if it is possible.

My understanding is that using external storage is not any less secure.

I use Dropbox for syncing but I don’t see an option for storage anywhere in the app (but other apps in my phone offer the feature), and my Android Settings doesn’t show a choice of storage location for any apps.

the android app would have to ask for permission rights to write to sd card … which is not a big deal to implement …
a workaround would be to use adoptable storage, if I recall correctly you will gain extra space without the apps noticing that it really is on a sd. (You might run into trouble though if the sd breaks …)

‘A feature called Adoptable Storage allows the Android OS to format an external storage media as permanent internal storage. The data on the adopted SD card is encrypted and it can’t be mounted on another device.’

If it is easy to implement and data stored on a SD are encrypted, I don’t see why an application, any application handling significant volumes of data wouldn’t offer the option to use external storage. Many of us have very little internal storage left and we have to delete apps to make room.

I used Adoptable Storage before but a couple of apps had occasional problems freezing and I had to disable it. I’ve never had problems with apps using SD as external storage.

It’s a react-native application.

If you know how to do what you are asking, please let us know.

could this be interesting ?

the data written to sd / adoptable storage will be encrypted by android … maybe this causes slowdowns …especially with older devices

I think you misunderstood the issue. We need a react-native way to place the application data on an SD drive. By application data, I mean the sqlite database and the local resources (attachments).
We already use permissions, so this is not the problem.

clearly I have don’t have any clue about the react-native framework. Could you elaborate shortly why you just cannot ask for runtime permissions and write to external storage ? what is a react-native way if I may ask ?

react-native is a wrapper for react apps (javascript code) to run on mobile devices. So instead of coding the app in java or objective-c/swift, you code it in javascript.
However, certain elements have to be still done with native code, basically require a react-native module for abstraction. Changing the location of the application data is as low level as it gets, since it has to directly talk to the OS. The local data APIs work differently on iOS and Android.
And the APIs are also different when it comes to using the native local protected storage and external storage.
As I said, if you know how to do this, please let us know. If you don’t, there’s no reason to go into this any further.

thanks for clearing things up … I just asked because I did this with kivy (crossplatform python framework) which allowed to use use Java classes for interfacing directly with the android-api…(I do have java code for this )
but still this would only be for android … so probably not worth the effort … I would expect that react-native would support this in the future anyway …