comment accéder aux ressources dans un projet de bibliothèque Android

Je fais construire une android projet de bibliothèque qui ont besoin de quelques ressources statiques(images/xml et etc) en interne.

Alors je me demande où je peux mettre ces ressources et comment y accéder?

Depuis que j'ai mis les ressources dans le assets dossier. Et j'utilise le d'assetmanager d'accès aux ressources:

public class DataProvider {
    byte[] getDrawableData(int num) {
        AssetManager am = Resources.getSystem().getAssets();
        InputStream is = null;
        try {
            is = am.open("t.jpg");
        } catch (IOException e) {
            return "".getBytes();
        }
        if (is != null) {
            Drawable dw = Drawable.createFromStream(is, null);
            Bitmap bm = ((BitmapDrawable) dw).getBitmap();
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            bm.compress(Bitmap.CompressFormat.JPEG, 100, stream);
            return stream.toByteArray();
        }

        return "".getBytes();
    }
}

Cependant j'ai obtenu l'erreur: W/System.err(19583): java.io.FileNotFoundException: t.jpg

Quel est le problème?


Comme Sankar V dit le projet de bibliothèque ne prend pas en charge le raw actifs. Alors, Il semble que je dois mettre le resurces en vertu de la res dossier.

Mais j'ai essayé d'utiliser le Resources.getSystem().getResources().... méthode qui ne peut pas obtenir ce que je veux. Et les gens disaient que cette méthode ne peut obtenir que le système de niveau de ressources, plutôt que le niveau d'application des ressources.

Si c'est la vérité. Ça veut dire que je dois tenir une référence de la Context objet n'importe où je veux obtenir toutes les ressources?

source d'informationauteur hguser | 2013-04-17