Saving offline maps on SD-card under Android 4.4 (KitKat)

Mario Schlesinger shared this idea 3 years ago
Completed

saving offline maps on SD-card under Android 4.4 / KitKat

Since Android 4.4. (KitKat) Google limited the way for apps to write data to external SD-cards: from now on this only is allowed for those folders which were created by an app itself. So i was forced to move all my downloaded Locus offline cards (and other data of course) back to the internal memory of my Samsung S4 which is quite limited and in fact too small to keep all former maps.

It would be great if there was a possibilty to move maps (and maybe other data) from within the Locus app to the SD-card, to a folder which was created by Locus. Concerning to Google's specifications this way it should be possible.

Comments (48)

photo
1

Hi,

Locus inversion 2.20.1 is able to store personal maps and Locus vector maps in external directory on SD card. Please see article: How To Add External Folder With Maps

  • Connect SD card to the PC and create arbitrary folder on the SDcard for your maps e.q. MyLocusExternMap
  • Move maps from internal memory (Locus/maps and Locus/mapsVector) to the folder MyLocusExternMap
  • Connect card back to the device
  • Start Locus and open Menu > Maps
  • From top right menu choose “Add Maps” > Add > navigate and select the folder MyLocusExternMap

photo
4

Hi,


as far as i understand, this way i'm not able to download additional map tiles to my offline map database, because Locus still has no permission to write in the SD card (only read data).


If this is correct, that's no solution for me.

photo
1

Hi Mario,

you can but it's little bit tricky. You need to move your map from external folder beck to the internal storage. Then start new downloading and choose moved map. When downloading is finished you can manually move map from internal storage to the external Sd card.

Locus can read maps from SDcard on KitKat but it isn't able to write into this files.

photo
3

Sorry,


This is not a solution but a work-around.


Why doesn't Locus follow the new rules for Accessing an external SD-Card!?

photo
1

The new rule in Android Kitkat is limits the application writing permission its own directory (created by installation) on SD card.

This would be great in Locus.

I just updated to Kitkat and I got a message from Locus to copy the files into device memory. Temporarily i can do, but the internal memory is limited...

photo
4

Hi guys,


We agree that internal memory is limited. Why we decided for this solution is wrote on our blog here http://www.locusmap.eu/locus-run-since-update-device-android-4-4-2-kitkat/ .


To be true, I personally hoped, that Google change it's mind, but seems it's a final solution, so Locus will have to offer more possibilities how to work with card.


As a first step, I did an possibility to choose where is root directory of Locus stored. What you think? On screenshot is how it look like on device with internal and external memory.


7lYSLAjF505ZcxIDfLIF

photo
1

Menions suggestion sounds reasonable to me. Though I don't have personal experience with version 4.4 and to me it looks like I don't want to have them (German saying: einen großen Bogen drum machen).


Many Greetings


Michael

photo
1

I think, this solution is the best on Android 4.4.2.

I hope too that, the Google will change back this permission.

So, you got three yes :)

photo
1

Perfect, thanks guys.


Only thing I think about is if do some moving whole Locus folder in app or not.


I personally prefer to let user do ti manually, because

  1. using some well tested file browser or better over PC (together with backup), should be more secure
  2. If any of target directories already contain any data, there should be a conflict and it's a question what to do
  3. my laziness. To create some perfectly working service that should correctly transfer even a few GB of data from one place to another, should take some time.

So if you don' think it's a big problem, I leave above selection of root directory as is. So "only" a selection. Moving of already existing data from one directory to another have to do everyone manually.

photo
1

First of all:

I hope too that, the Google will change back this permission.


What about Locus free / Locus test version running on Android 4.4.2?

Can this application also access the "storage/sdcard1/Android/data/menion.android.locus.pro/files" folder? Or have this application have to have a "Android 4.4.2" folder of its own on the external sd card?


In other words:

Is it possible running Android 4.4.2 and make one folder on the external sd card accessable to two different Locus applications (Locus Free / Locus Pro)?


c.s.g.

photo
1

No it's not possible.


As we wrote here - http://www.locusmap.eu/locus-run-since-update-device-android-4-4-2-kitkat/ , at botton, point 1.


Every Locus version (Free/Pro) has own private directory with this method

photo
1

Menion, to your question.

I prefer manual way too, because let the users to decide about their files. But you may warn them about create backup if they choosed internal memory previously .

However i think you have no business with it, because if someone installed locus on External SD, they moved it to the internal memory after 4.4.2 update because of normal use. In this situation you only have to ask the user "do you want to use external sd?". if yes, simply move the whole Locus directory to the external SD. But i think because of 4.4.2, would be better if Locus store the static content (mainly maps) on external sd. The always changing files, like configs, routes etc can be stays in internal memory until Goggle changing its stupid idea. It is may good against accidentally removed locus, because only the map files will be lost from external SD. The Locus dir maybe stays in internal memory with its user created content. But I'm not exactly sure in it.

photo
1

I have Locus pro + free installed on 3 Samsungs:


S3 mini with 4.1.2

Note 8,2 with 4.2.2

Note 10.1 was 4.1 ? is now 4.4.2

On all thre I use about 10 GB maps and vectormaps on extSDCards.


All Locus versions run fine on S3mini and Note 8.2

Great programm, fully customable files.


This is over now with Android 4.4.2 on my Note 10.2 .

Now Locus runs on internal mem. Maps and vectormaps are in "mylocmaps" on the extcdcard.

Locus can read the maps, but there is no way to make any changes. New downloads go to intern memory, if at all.


For exercise I moved in my Note 8.2 the whole Locus directory to intern mem. Before I renamed the mapsdirs into mylocusmaps and left them on the extern memory.

Locus runs fine, but new downloaded maps go into Locus directory and I have to move them to the equivalent directories on the extcdard by hand.


I think this grazy Google change is a great drawback for Locus and all its friends.

I hope Menion will find more than a workaround for a locus future.

photo
1

I think moving files in app can be neccessary in case user does not have a file manager suitable for the task (the file manager has to be provided by smartphone vendor in order to be able to write in folders other than it's own on the SD card).


For example, on Xperia devices Sony provides a sh*tty file commander that requires premium payment to let user browse through hidden and system files - on at least one occasion I saw a situation where some files in /sdcard1/Android/data/<app> folder weren't hidden however the app didn't show them. On some other 4.4 devices there can be no file manager provided at all.

photo
1

Not working for me. Samsung G3, with Kit Kat. (locus Pro)


Locus folder moved to internal memory as per instruction..(with folders for personal and vector maps.)


From internal,, added from newly created My LocusExternMaps vector and personal maps. While loading shows personal, vector and themes loading.


However, the only themes available are internal themes....does not show any of the themes from the vector folder....yet does allow for vector maps and personal maps.


How do I get the select themes to allow for custom themes.

photo
1

ken ect wrote:

Not working for me. Samsung G3, with Kit Kat. (locus Pro)


Locus folder moved to internal memory as per instruction..(with folders for personal and vector maps.)


From internal,, added from newly created My LocusExternMaps vector and personal maps. While loading shows personal, vector and themes loading.


However, the only themes available are internal themes....does not show any of the themes from the vector folder....yet does allow for vector maps and personal maps.


How do I get the select themes to allow for custom themes.

Hello ken ect,


as far as I know the themes have to be stored in the "mapsVector\_themes" folder on the internal sd card. Only the maps itself can be moved to the external sd card.


c.s.g.

photo
1

c.s.g. wrote:

ken ect wrote:

Not working for me. Samsung G3, with Kit Kat. (locus Pro)


Locus folder moved to internal memory as per instruction..(with folders for personal and vector maps.)


From internal,, added from newly created My LocusExternMaps vector and personal maps. While loading shows personal, vector and themes loading.


However, the only themes available are internal themes....does not show any of the themes from the vector folder....yet does allow for vector maps and personal maps.


How do I get the select themes to allow for custom themes.

Hello ken ect,


as far as I know the themes have to be stored in the "mapsVector\_themes" folder on the internal sd card. Only the maps itself can be moved to the external sd card.


c.s.g.

To be more exact:

Vector maps can be stored in any folder on the internal or external sd card.

The themes of the vector maps have to be stored in the "Locus\mapsVector\_themes" folder where the "rest" of locus is installed. In youre case this have to be the Locus folder in your inernal memory.


c.s.g.

photo
1

tried manually copy themes from sd card to internal. With all files now showing in internal locus/mapsVector/_themes AND still show as initializing during locus startup...unable to select custom theme.


Also, have confirmed "Theme of the maps checked to allow custom Vector map theme" is enabled.


As a note; the instructions above and in other help location just directs to direct the location for mapsVector folder...NOT them manually copy the themes data.


I must be missing a step as others are not complaining of missing custom themes.


Thanks in advance for solution to this.

photo
1

Hello ken ect,


sorry for a late response and thanks. Please next time create seaparate issue if you have any specific problem. If you write to existing "idea" that is focused on little bit different feature, it may be simply ovelooked.


Anyway to your problem - may you post structure of your folder Locus/mapsVector?


Something like

Locus

- mapsVector

-- _themes

--- myTheme

---- myTheme.xml

-- europe

--- germany.osm.map


And so on .. thanks

photo
1

file structure for each..internal and also ext/sd


internal:


locus/mapsVector/_themes/Elegant-L/Elegant-L.xml (plus multiple others in the _themes folder)


extSdCard:


locus/MylocusExternmaps/mapsVector/_themes/Elegant_L/Elegant_l.xml (plus the same multiple other in the _themes folder)


as

I said in help subject....At startup, locus shows that the themes are

initializing...but then only available for choice selection are

"internal".


Prior the above c.s.g. post, the internal did not have themes subfolder..but still was showing initializing at startup.


Thank you

photo
2

There is nothing like "initializing of themes", really. So you saw something different.


Themes in some external folders won't work. Locus support themes for vector maps only in main directory like you correctly have in "internal" memory.


All looks correctly on first sight.


Please check once more your settings in

menu > settings > map - advanced > theme of the maps


There is a button "Show more", where should be your themes. There is no reason why not. Internal themes do not have any public visible directory, because there are included in installation file.

photo
2

Menion,


ok..I mis-spoke a bit. on startup, the screen comes up.."working" then "initializing personal maps",,,and as they run through the themes xml are also included.


following your direction for settings... at 'theme of the maps', it shows " allow to select custom Vector map theme". But when selected.what presents is internal themes and five choices only. no custom themes There is no "show more" showing.

photo
1

I'm checking how locus get list of external themes and seems there is also a condition that in theme directory, may be just one xml file. So be sure you have only one xml file, for example


Locus/mapsVector/_themes/MyTheme/theme.xml


Otherwise, I have no idea.

photo
1

Maybe the problem is caused by a theme.xml file that is stored in the internal ../_themes/MyTheme/ directory and also in the external sd card ../_themes/MyTheme/ directory.


The theme with same theme.xml file is twice installed and maybe this causes the trouble?

photo
1

locus really do not touch any themes outside one main directory - only possibility how to get themes for vector maps to locus is to place them into Locus root directory!!


Suggest also check different themes ...

photo
1

with the directory /_themes removed from MyLocusExternalmaps and in place

on internal memory, at launch the files do NOT show as being notice.


With

/_themes in place at MyLocusExternalmaps but removed from the internal

directory...at launch the multiple themes names show up (rapidily) right along with the personal maps.


However,

in neither event are the custom themes available in the Theme of the

maps . Just Internal themes...then option hiking , cycle, ski,city or

road.


While initializing the themes have the same format style as personal maps..that is:

Maps: (name)

i.e. Maps: Elegant_L


tho I have not been able to confirm all themes I have loaded flash by at initialization...it seems so as there are many.


I

have no access to any theme from Theme of the maps, other than Internal

Themes (which, by the way I have never seen until now since I have had

PRO), as mentioned above.

photo
2

ken ect sorry, but I can help you here. Internal themes should be enough for normal usage and using some own external (downloaded) themes is just optional way. If you have problems with it, don't use them.

photo
1

And is rhere a solution, to save the offline maps on the SD card?

photo
1

I have see that article. But I mean a solution in the app it self.

photo
1

The "application solution" is mentioned in point C or B http://docs.locusmap.eu/doku.php?id=manual:faq:use_sdcard_on_kitkat#b_move_locus_and_maps_into_private_folder_on_sdcard

Especially B which use private application folder as default storage for data but as is mentioned in the article we do not suggest to use it.

photo
2

Allright I must read it twice ; -). Thanx

photo
photo
2

I had to use solution B because I was running out of space on my phone's internal storage. But, now that I have moved all my Locus files to the indicated directory on my phone's SD card, none of the photos can be located for the numerous photo track points that I had created in a large library of tracked hikes and Bike rides. So the very large Locus-created kmz files that were using up all my phone's internal storage are now on the SD card, but the links between the photographs and the associated track points no longer work. I do not find Locus to work well at all when it comes to creating, and then sharing (e.g. exporting) with other devices, tracks that contain photo track points. My current problem is the result of the same issue it seems, which as far as I can surmise is due to the ineffective or at least non-flexible way that Locus links photo track points to tracks.

photo
1

Good day Kevin,


please create an separate issue as you problem is not directly connected to this idea. Add please more information about it, like where were your photos before you moved Locus to SD card and where are now. Thank you and sorry for a troubles.

photo
photo
1

Seems this topic still alive because of the changes in Android 5.0. :)

As i red, it is possible again to define access to the external sd card, but on different way.

If i understand well, a new intent (ACTION_OPEN_DOCUMENT_TREE) needed to define access a directory. It looks the program ask acces to a desired directory and you can choose the whole sdcard too, like In the freshly updated Total commander.

photo
2

Yes you're right. Android 5.0 has such possibility but it's quite useless for Locus. Mentioned permission allows basically to copy one single in one step to the SD card. Unfortunately Locus needs to write data directly into "middle" of file and this is not possible even with new permission. For example it isn't possible to write data into the database of track or points or write to the sqlitedb map.

photo
photo
1

Hi,


at the beginning I was not lucky with the restriction of accessing the external sd card intruduced by Android 4.4.


But after two massive problems with my external sd card I was glad that I only have to restore my offline vector maps of Locus to my external sd card and did not lose the rest of my Locus installation placed on the internal sd card of my smartphone.


c.s.g.

photo
1

Nice reason to keep Locus on internal memory :).

photo
photo
1

Nothing but misery with this stuff. The only practical workaround for me is taking the SD-card out of your phone. Copy the 15Gb op vector maps on it, just through explorer in windows (it just takes 15 minutes) and put it back in your phone. So, plenty of space left on internal memory for other Locus stuff and other apps.

photo
1

Ah nice old topic ... Marc and others, since some July version of Locus Map, it is already possible to save all vector maps (LoMaps) directly into SD card over Locus on Android 5.0+!!! More about it here: http://docs.locusmap.eu/doku.php?id=manual:faq:use_sdcard_on_kitkat#changes_in_android_50


Online maps (it's cache) and online maps downloaded as offline are currently not technically possible to place on SD card, sorry.

photo
1

Wow ... thanks for the info. Will check it out ...

photo
1

Hello,

This does not work: browse your phone or tablet's memory or SD card

I can only browse to local phone directories...

Thanks for your help

photo
1

Browse upwards to uppermost, root (/) level. Then look for /Storage. In there you should see the external SD. Depending on vendor, there are different naming conventions.

photo
1

question. where i can find my tracks after this procedure?

photo
1

Good day Keibel,

I'm not sure which procedure you mean, this is quite old topic. Also we here talk about maps. Database with points and tracks are stored in main Locus directory under Locus/data/database and they should stay there.

photo
photo
1

I am really liking your application in many aspects. Bought a pro version almost immediately. But manually moving maps and data to SD card is just frustrating. I kindly ask you to implement a way to do it from application settings. It is currently possible to save online and offline map data to external SD card in all map applications I have used before. So it is probably possible for Locus too.


Thank you for a great product!

photo
2

Good day Lux,

thank you for your opinion. I absolutely agree that this is something, that needs to be improved in near future. I'm sure, during next year, we create functions that will make current cumberstone system a lot more useful and easier to use. Stay tuned ;).

photo
1

Thank you for this kind of dedication, Minion.

photo