bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


android_persistencia

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
Ultima revisió Ambdós costats nova versio
android_persistencia [2022/11/04 11:11]
enrique_mieza_sanchez [Emmagatzematge intern]
android_persistencia [2023/01/08 12:06]
enric_mieza_sanchez [Emmagatzematge compartit]
Línia 25: Línia 25:
 És el més segur ja que no es pot compartir entre aplicacions. La seguretat es manté sempre i quan no es faci //root// el dispositiu. És el més segur ja que no es pot compartir entre aplicacions. La seguretat es manté sempre i quan no es faci //root// el dispositiu.
  
-L'[[https://developer.android.com/reference/android/content/Context|objecte Context]] (del qual deriva ''Application'') ens proveeix algunes funcions per tractar els fitxers: +<WRAP info> 
-  * [[https://developer.android.com/reference/android/content/Context#openFileOutput(java.lang.String,%20int)|Context.fileOutputStream]] ens permet obrir un //stream// d'escriptura a l'espai privat de l'aplicació.+L'[[https://developer.android.com/reference/android/content/Context|objecte Context]] (del qual deriva ''Activity'') ens proveeix algunes funcions per tractar els fitxers: 
 +  * [[https://developer.android.com/reference/android/content/Context#openFileOutput(java.lang.String,%20int)|Context.openFileOutput()]] ens permet obrir un //stream// d'escriptura a l'espai privat de l'aplicació.
   * [[https://developer.android.com/reference/android/content/Context#getFilesDir()|Context.getFilesDir()]] ens dona el ''path'' de la carpeta privada de l'aplicació on emmagatzemarem els fitxer interns. Amb aquest ''File'' com a path podem utilitzar les funcions habituals de Java per tractament d'arxius.   * [[https://developer.android.com/reference/android/content/Context#getFilesDir()|Context.getFilesDir()]] ens dona el ''path'' de la carpeta privada de l'aplicació on emmagatzemarem els fitxer interns. Amb aquest ''File'' com a path podem utilitzar les funcions habituals de Java per tractament d'arxius.
 +</WRAP>
  
 ==== Exercici ==== ==== Exercici ====
Línia 33: Línia 35:
 App de testeig per visualitzar els arxius i les carpetes d'emmagatzematge intern. App de testeig per visualitzar els arxius i les carpetes d'emmagatzematge intern.
   * Crea una nova aplicació amb un botó.   * Crea una nova aplicació amb un botó.
-  * Utilitza la funció [[https://developer.android.com/reference/android/content/Context#openFileOutput(java.lang.String,%20int)|Context.fileOutputStream()]] per enregistrar un arxiu amb el nom "dades.txt".+  * Utilitza la funció [[https://developer.android.com/reference/android/content/Context#openFileOutput(java.lang.String,%20int)|Context.openFileOutput()]] per enregistrar un arxiu amb el nom "dades.txt".
   * Escriu-hi una línia de text.   * Escriu-hi una línia de text.
   * Controla que tingui el seu ''try...catch'' i mostra un missatge d'error per si falla alguna cosa.   * Controla que tingui el seu ''try...catch'' i mostra un missatge d'error per si falla alguna cosa.
Línia 73: Línia 75:
 </WRAP> </WRAP>
  
 +<WRAP info>
 Als objectes [[https://developer.android.com/reference/android/content/Context|Context]] i [[https://developer.android.com/reference/android/os/Environment|Environment]] trobem funcions adequades per a accedir als arxius externs de l'app: Als objectes [[https://developer.android.com/reference/android/content/Context|Context]] i [[https://developer.android.com/reference/android/os/Environment|Environment]] trobem funcions adequades per a accedir als arxius externs de l'app:
   * [[https://developer.android.com/reference/android/content/Context#getExternalFilesDir(java.lang.String)|Context.getExternalFilesDir(String type)]] ens dona el ''path'' de l'espai compartit dedicat a la nostra aplicació.   * [[https://developer.android.com/reference/android/content/Context#getExternalFilesDir(java.lang.String)|Context.getExternalFilesDir(String type)]] ens dona el ''path'' de l'espai compartit dedicat a la nostra aplicació.
   * [[https://developer.android.com/reference/android/os/Environment#getExternalStoragePublicDirectory(java.lang.String)|Environment.getExternalStoragePublicDirectory(String type)]] ens dona el ''path'' de l'espai compartit comú de tots les aplicacions.   * [[https://developer.android.com/reference/android/os/Environment#getExternalStoragePublicDirectory(java.lang.String)|Environment.getExternalStoragePublicDirectory(String type)]] ens dona el ''path'' de l'espai compartit comú de tots les aplicacions.
 +
 +[[https://gist.github.com/granoeste/5574148|Aquí teniu una taula resum dels espais d'emmagatzematge]].
 +</WRAP>
  
 A totes dues funcions cal especificar-les a quina de les diferents carpetes volem emmagatzemar-ho. Els valors s'indiquen a l'objecte [[https://developer.android.com/reference/android/os/Environment#fields|Environment]] i alguns exemples son: Environment.DIRECTORY_DCIM, Environment.DIRECTORY_MUSIC, Environment.DIRECTORY_SCREENSHOTS, etc. A totes dues funcions cal especificar-les a quina de les diferents carpetes volem emmagatzemar-ho. Els valors s'indiquen a l'objecte [[https://developer.android.com/reference/android/os/Environment#fields|Environment]] i alguns exemples son: Environment.DIRECTORY_DCIM, Environment.DIRECTORY_MUSIC, Environment.DIRECTORY_SCREENSHOTS, etc.
android_persistencia.txt · Darrera modificació: 2023/10/30 15:22 per enric_mieza_sanchez