Diferencia entre revisiones de «PDM Acceso a recursos»

De MediaWiki
Ir a la navegación Ir a la búsqueda
(Página creada con « * Máis información en: :* [https://developer.android.com/guide/topics/resources/available-resources?hl=es-419 https://developer.android.com/guide/topics/resources/avail...»)
 
Línea 4: Línea 4:
 
:* [https://developer.android.com/guide/topics/resources/accessing-resources?hl=es-419 https://developer.android.com/guide/topics/resources/accessing-resources?hl=es-419]
 
:* [https://developer.android.com/guide/topics/resources/accessing-resources?hl=es-419 https://developer.android.com/guide/topics/resources/accessing-resources?hl=es-419]
 
:* [https://developer.android.com/reference/android/content/Context?hl=es-419#getResources() getResources()].
 
:* [https://developer.android.com/reference/android/content/Context?hl=es-419#getResources() getResources()].
 +
 +
 +
* Normalmente emgregaremos a orde: getResources().getZZZZZZ
 +
: sendo ZZZZZ o tipo de recurso que queiramos recuperar.
 +
 +
: Por exemplo, para recuperar unha cadea gardada un arquivo de recursos /res/values/ e que teña de nome 'cadea' empregaríamos esta orde:
 +
<syntaxhighlight lang="java" enclose="div" highlight="">
 +
getResources().getString(R.string.cadea);
 +
</syntaxhighlight>
 +
 +
: Por exemplo, para recuperar unha String-Array gardado un arquivo de recursos /res/values/ e que teña de nome 'datos_array' empregaríamos esta orde:
 +
<syntaxhighlight lang="java" enclose="div" highlight="">
 +
getResources().getStringArray(R.string.datos_array);
 +
</syntaxhighlight>
 +
 +
 +
* Tamén podemos, a partir dun nome, obter o id do recurso que ten ese nome en algún dos cartafoles /res/, empregando o [https://developer.android.com/reference/android/content/res/Resources#getIdentifier(java.lang.String,%20java.lang.String,%20java.lang.String) método getIdentifier()] que espera recibir tres datos: o nome do recurso, o tipo de recurso e o paquete.
 +
<syntaxhighlight lang="java" enclose="div" highlight="">
 +
        ImageView foto = findViewById(R.id.imvFoto);
 +
        foto.setImageResource(getResources().getIdentifier("foto1","drawable",getPackageName()));
 +
</syntaxhighlight>
 +
: No exemplo estaríamos a cargar unha foto (que se atopa en /res/drawable/foto1.jpg) nun ImageView.
 +
 +
: Neste caso temos que ter <u>coidado con varios aspecto</u>:
 +
:* O nome do identificador que vai no primeiro parámetro '''non leva a extensión da imaxe a cargar'''.
 +
:* O terceiro parámetro é o nome do paquete da Activity. Se estamos dentro dunha clase que non represente a activity, necesitaremos unha referencia á mesma, podendo empregar a forma: NomeActivity.this.getPackageName()
  
  

Revisión del 12:53 21 nov 2020

  • Máis información en:


  • Normalmente emgregaremos a orde: getResources().getZZZZZZ
sendo ZZZZZ o tipo de recurso que queiramos recuperar.
Por exemplo, para recuperar unha cadea gardada un arquivo de recursos /res/values/ e que teña de nome 'cadea' empregaríamos esta orde:
getResources().getString(R.string.cadea);
Por exemplo, para recuperar unha String-Array gardado un arquivo de recursos /res/values/ e que teña de nome 'datos_array' empregaríamos esta orde:
getResources().getStringArray(R.string.datos_array);


  • Tamén podemos, a partir dun nome, obter o id do recurso que ten ese nome en algún dos cartafoles /res/, empregando o método getIdentifier() que espera recibir tres datos: o nome do recurso, o tipo de recurso e o paquete.
        ImageView foto = findViewById(R.id.imvFoto);
        foto.setImageResource(getResources().getIdentifier("foto1","drawable",getPackageName()));
No exemplo estaríamos a cargar unha foto (que se atopa en /res/drawable/foto1.jpg) nun ImageView.
Neste caso temos que ter coidado con varios aspecto:
  • O nome do identificador que vai no primeiro parámetro non leva a extensión da imaxe a cargar.
  • O terceiro parámetro é o nome do paquete da Activity. Se estamos dentro dunha clase que non represente a activity, necesitaremos unha referencia á mesma, podendo empregar a forma: NomeActivity.this.getPackageName()












-- Ángel D. Fernández González -- (2018).