If you have more than one device, tick the one that you're more likely to take to the crag with you. Feel free to comment below with more details too.

If you don't know what version you're running, have a look in Settings -> About -> Software Information -> Android Version or Settings -> About -> Android Version

It'd also be useful to get an idea of the application storage capacities of people's devices. That should be under Settings -> SD & Phone storage -> Internal Phone storage or Settings -> Storage -> device memory or something like that. This and any other comments could be useful.

On 4/04/2013 barney800 wrote:>I only have 50 MB of internal storage but a removable SD card (currently 2 GB) so as long as apps don't insist on using internal storage it's not a problem.

Yeah, one of my test devices has this arrangement and for a guidebook it's very problematic. I could produce a small version with no images that'd fit easily, but I'm not sure how useful that'd be.

Another option might be to download the images (~175mb at the moment) the first time the app runs and store them on the SD, but there's no way to guarantee that the user won't remove the SD card or delete some or all of the files, etc.

On 4/04/2013 ajfclark wrote:>On 3/04/2013 Cam McKenzie wrote:>>What are you working on Mr Clark?>>Porting Superstu's Sydney Guide at the moment.>>>On 4/04/2013 barney800 wrote:>>I only have 50 MB of internal storage but a removable SD card (currently>2 GB) so as long as apps don't insist on using internal storage it's not>a problem.>>Yeah, one of my test devices has this arrangement and for a guidebook>it's very problematic. I could produce a small version with no images>that'd fit easily, but I'm not sure how useful that'd be.>>Another option might be to download the images (~175mb at the moment)>the first time the app runs and store them on the SD, but there's no way>to guarantee that the user won't remove the SD card or delete some or all>of the files, etc.>>Not quite sure what to do about this one.

Doesn't the app have to run on internal storage (or on the non removal USB storage)? I thought that you couldn't transfer apps to run off an external SD.

Anyway, I would have thought that people with a phone with 50MB of internal memory would be in a pretty small minority. Handling all of these weird edge cases for old devices is one of the reasons that developing for Android is a bit of a pain (let alone all the different screen sizes and resolutions).

On 5/04/2013 Cam McKenzie wrote:>Doesn't the app have to run on internal storage (or on the non removal USB storage)? I thought that you couldn't transfer apps to run off an external SD.

Not quite sure what you're asking. The Froyo phone I have (HTC Wildfire) allows you to transfer apps onto the SD card and they still run fine (until you unmount the SD card). Apps that use widgets cannot be transferred to the SD card. It seems those that use a database can't be transferred either. There might be other conditions (or the ones I've listed might not be correct), I'm not 100% sure.

Regardless of where the app is stored though, its possible to read from and write to the SD card as long as it has the appropriate permissions. So in theory, I could make the app (which is small, about 5mb) download the images and store them on the SD card. There's no permissions or protections though so anyone can access the data there and fiddle with it and it might suddenly disappear while your application is running (if the user plugs the phone in to a PC for instance).

> Anyway, I would have thought that people with a phone with 50MB of internal memory would be in a pretty small minority. Handling all of these weird edge cases for old devices is one of the reasons that developing for Android is a bit of a pain.

That's why I was asking. Froyo still accounts for 4% of the market, Gingerbread is 40% by itself. So almost half the market is on older versions of Android. I've also seen relatively recent devices with the same silly limited internal memory problems. eg. the Aldi 7" 16Gb Tablet. There are issues supporting some of these things so I'd like to know if it's worth the effort.

>(let alone all the different screen sizes and resolutions).

This stuff is all pretty well handled for you. You just have to think like a web developer not a traditional application developer (eg think in proportions, not in pixel offsets). There's a little extra work generating artwork for different DPIs but if you're working from vector graphics in the first place, that's trivial.

On 5/04/2013 ajfclark wrote:>On 5/04/2013 Cam McKenzie wrote:>>Doesn't the app have to run on internal storage (or on the non removal>USB storage)? I thought that you couldn't transfer apps to run off an external>SD.>>Not quite sure what you're asking. The Froyo phone I have (HTC Wildfire)>allows you to transfer apps onto the SD card and they still run fine (until>you unmount the SD card). Apps that use widgets cannot be transferred>to the SD card. It seems those that use a database can't be transferred>either. There might be other conditions (or the ones I've listed might>not be correct), I'm not 100% sure.>>Regardless of where the app is stored though, its possible to read from>and write to the SD card as long as it has the appropriate permissions.> So in theory, I could make the app (which is small, about 5mb) download>the images and store them on the SD card. There's no permissions or protections>though so anyone can access the data there and fiddle with it and it might>suddenly disappear while your application is running (if the user plugs>the phone in to a PC for instance).

On my S2, it has internal phone memory, an internal SD card (which can't be removed, but can be mounted as a USB drive if you hook it up to a PC), and an external SD card (which can be removed and mounted etc.). You can't move an app to the external SD, but you can have it on the other two.

I don't think that it's a big deal not being able to access the app while the phone is hooked up to a PC. That's certainly the approach I've taken for the android port of iCrag anyway. In fact, given the size of the app, that's the only real option.

On 5/04/2013 Cam McKenzie wrote:> I don't think that it's a big deal not being able to access the app while the phone is hooked up to a PC. That's certainly the approach I've taken for the android port of iCrag anyway. In fact, given the size of the app, that's the only real option.

It's more that it's something the app might have to deal with, not that it's a problem that you can't use the app.

>Also, can't you just set the android:installLocation="auto" in the android manifest XML? Then the phone can decide where it gets installed. I'm not sure how this works in practice though.

Thanks for that, that might be a solution. I'll do some testing and see how it works in practice.

I was meaning if I installed to the internal and downloaded the data to the external it might disappear without warning so I'd need to handle it. I'll have a play with installing the whole lot to the SD (if possible) and see if it works as documented.

Had a bit more of a look into this, and if you're planning on distributing this via the Play store that you'll have to break it into seperate APK's anyway. The main APK is only allowed to be 50MB, so you need to have a secondary one that contains the additional data. This gets downloaded to the SD card.

Bit of a pain in the arse really. Much easier in the Apple store where you can upload things of any size (as far as I know, certainly hundreds of MB aren't a problem).