He creado una clase personalizada para mi proyecto de Android llamada "Sonidos". Quiero poder llamarla desde mi actividad. El contenido de mi clase son los siguientes:¿Importar mi clase personalizada y llamar a su método?
package com.mypackage;
import java.util.HashMap;
import android.content.Context;
import android.media.SoundPool;
public class Sounds {
private static boolean sound = true;
private static final int FLIP_SOUND = 1;
private static Context context;
private static SoundPool soundPool;
private static HashMap<Integer, Integer> soundPoolMap;
public static void initSounds() {
soundPoolMap.put(FLIP_SOUND, soundPool.load(context, R.raw.flip, 1));
}
public static void playFlip() {
soundPool.play(soundPoolMap.get(FLIP_SOUND), 1, 1, 1, 0, 1);
}
public static void setSound(Boolean onOff) {
sound = onOff;
}
}
En mi clase principal Actividad He intentado importar la clase, la creación de una instancia de ella, pero supongo que no estoy entender cómo se hace. ¿Alguien puede señalarme en la dirección correcta, por favor?
Mi cómo las cosas cambian en unos pocos años. Parece que esta pregunta todavía es popular y que la gente está teniendo problemas similares, nuevos desarrolladores de Android, como me imaginaba en ese momento. Estoy viendo esto preguntándome cómo esperaba que funcionara. Lo obvio en el código anterior es que el contexto nunca se inicializa (como tampoco lo hacen ninguno de los campos), la clase requiere un constructor (y campos no estáticos) o los parámetros necesarios (como el contexto, el grupo de sonidos y soundPoolMap) que ves aquí pasó directamente a los métodos estáticos. De lo contrario, siempre serán nulos. – Hamid