Acesso ao armazenamento no Nook

A coisa mais próxima da documentação que posso encontrar relacionada ao armazenamento de arquivos éesta postage (veja abaixo se você não pode acessá-lo), mas isso me deixa com várias perguntas.

Eu gostaria muito, muito, muito, de uma explicação bem informada de quais caminhos são mapeados para qual armazenamento aqui, visto como devemos codificá-los e com que precisão devemos acessá-los. Um exemplo de código real seria superlativo. Meu melhor palpite é qu

/ sdcard-> mapeia para o slot eMMC interno e o acesso é restrito. Environment.getExternalStorageDirectory (); ... ainda retorna isso. / media -> mapeia para a memória interna de 8 GB (posso escrever para isso) / data ->?? -> mapeia para o cartão microSD opcional

Como podemos acessar o sdcard externo (opcional, adicional, o que você pode exibir), se / sdcard mapeia para armazenamento restrito em vez?

Agora, para citar os documentos do desenvolvedor do Nook:

Background Existem atualmente dois esquemas de partição diferentes para os dispositivos NOOK Color no mercado, um com apenas 250 MB disponíveis para aplicativos na partição / data e outro com 4 GB disponíveis para aplicativos na partição / data. Como resultado, é imperativo que os aplicativos sejam projetados e desenvolvidos de maneira a gerenciar o espaço com eficiência. Os aplicativos que não o fizerem não serão aceitos para distribuição na Loja.

ecomendação técnica ou solução associada à @Area, se o seu aplicativo exigir grande quantidade de dados (incluindo, sem limitação, imagens, conteúdo de áudio ou vídeo), você deverá baixar esses recursos em tempo de execução e armazená-los na partição maior do dispositivo. Se seu aplicativo solicitar e armazenar mais de 100 MB de dados ou recursos, DEVE seguir as seguintes restrições:

Seu aplicativo deve declarar de forma clara e explícita na descrição, desde que uma grande quantidade de dados seja usada / entregue pelo aplicativo. Você DEVE gravar seus recursos e dados na partição apropriada. Você pode detectar se o dispositivo possui uma partição ampliada / de dados da seguinte maneira:

StatFs stat = new StatFs("/data"); 
long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount(); 
long megAvailable = bytesAvailable / 1048576; 
if (megAvailable > 1000){   
... write your resources in /data
} else {  
... write your resources on /mnt/media ... 
} 

Para gravar dados no espaço privado da sua aplicação em / data

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_WORLD_READABLE); 

Seu aplicativo NÃO deve assumir a presença de um cartão SD no dispositivo, mas você pode testar um através de uma chamada para

Environment.getExternalStorageState (); Se um cartão SD não for encontrado, seu aplicativo DEVE sair normalmente com uma notificação ao usuário sobre o motivo da saíd

Lembre-se de que para acessar a partição / media, bem como o ExternalStorage, você precisa declarar no seu manifesto:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</uses-permission>

questionAnswers(2)

yourAnswerToTheQuestion