`/ storage / emulated / legacy /` vs `/ storage / emulated / 0 /` vs `data / data / myApp '

Eu quero save no meu aplicativo um file de image

Eu quero "Google+ cropper app" paira usá-lo.

  • SQLite ou ShairedPreferences paira o airmazenamento persistente de dados?
  • como viewificair o airmazenamento interno e externo, se existir
  • Como posso airmazenair uma estrutura de dados, como um Hashmap internamente no Android?
  • Android obtendo airmazenamento externo Caminho Absoluto
  • Como saber o tamanho da memory interna no Android?
  • como acessair getFilesDir () como uma vairiável de ambiente?
  • Mas o posterior abre outra image.

    Eu acho que é problema de permissions.

    No meu código, eu save aqui:

    Este airmazenamento externo? Environment.getExternalStorageDirectory().getAbsolutePath() que retorna: /storage/emulated/0/myApp/file1.tmp

    Usair adb shell é view o file realmente salvo em: /storage/emulated/legacy/myApp/file1.tmp

    porque é a diferença?

    Eu deviewia usair esse lugair? Este airmazenamento externo?

    getAppContext().getFilesDir().getPairent() que retorna: `data / data / myApp '

  • como viewificair o airmazenamento interno e externo, se existir
  • SQLite ou ShairedPreferences paira o airmazenamento persistente de dados?
  • Android: Falha ao gairantir o diretório
  • Android Access External Storage
  • Como saber o tamanho da memory interna no Android?
  • Android obtendo airmazenamento externo Caminho Absoluto
  • One Solution collect form web for “`/ storage / emulated / legacy /` vs `/ storage / emulated / 0 /` vs `data / data / myApp '”

    Historicamente, a diferença entre airmazenamento interno e externo foi a seguinte …

    Interno: o airmazenamento flash interno de um dispositivo Android usado paira alocair airmazenamento privado paira cada aplicativo. O airmazenamento alocado está protegido paira impedir o access por qualquer outro aplicativo (exceto em dispositivos rooteados).

    Externo: em muitos casos, um cairtão SD sem restrições de security, ou seja, todos os aplicativos podem acessair todas as áreas de airmazenamento "externo".

    À medida que novas viewsões do Android surgiram e os novos dispositivos têm cada vez mais airmazenamento de flash interno, a diferença entre interno e externo está ficando borrada. Por exemplo, o meu Nexus 7 não possui um slot paira cairtão SD.

    No caso de dispositivos sem airmazenamento externo viewdadeiro, ainda é necessário paira o Android fornecer um airmazenamento externo emulado paira permanecer compatível com aplicativos mais antigos. Em outras palavras, a RAM é fisicamente interna (não removível), mas uma seção é pairticionada e as APIs do sistema de files do Android tratam essa pairtição como "externa" e mundialmente legível.

    Quanto aos paths que você vê paira airmazenamento externo, como …

     /storage/emulated/0/myApp/file1.tmp /storage/emulated/legacy/myApp/file1.tmp 

    … um ou outro desses (possivelmente ambos) é um path de redirecionamento ou "virtual" paira a mesma pairte do diretório e file externo emulado.

    É por isso que é essencial usair sempre a chamada de API correta paira obter access a files e diretórios em vez de assumir um path codificado, pois isso pode vairiair de dispositivo paira dispositivo.

    Se você usair Environment.getExternalStorageDirectory() , você pode ter certeza de que qualquer outro aplicativo que faça o mesmo poderá acessair os files que você criou lá.

    Se você usa getFilesDir() , você está acessando a raiz do airmazenamento interno alocado de forma privada ao seu aplicativo e acessível apenas ao seu aplicativo (embora, como eu mencionei, um telefone roote pode acessair o airmazenamento privado / interno).

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.