IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

GLWallpaperService getResource fond d'écran


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut GLWallpaperService getResource fond d'écran
    Hello, je veux faire un fond d'écran animé.
    J'utilise GLWallpaperService
    avec l'example suivant :
    https://github.com/markfguerra/GLWallpaperExample

    Le problème est que je n'arrive pas utiliser les ressources.

    J'utilise this en rouge pour passer en paramètre le contexte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    public class MyWallpaperService extends GLWallpaperService {
    	public MyWallpaperService() {
    		super();
    	}
    
    	public Engine onCreateEngine() {
    		MyEngine engine = new MyEngine(this);
    		return engine;
    	}
    
    	class MyEngine extends GLEngine {
    		MyRenderer renderer;
    		Context _context;
    		public MyEngine(Context context) {
    			super();
    			_context = context;
    			// handle prefs, other initialization
    	        ArrayList<Integer> list ;
    	        list = TabDebloquer();
    	        //BitmapDrawable img =  (BitmapDrawable) context.getResources().getDrawable(Reference._images[13][0]);
    	        //Bitmap img = BitmapFactory.decodeResource(context.getResources(), Reference._images[13][0]);
    	        renderer = new MyRenderer(_context, list);
    			setRenderer(renderer);
    			setRenderMode(RENDERMODE_CONTINUOUSLY);
    		}
    La classe renderer pas en entier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public class MyRenderer implements GLWallpaperService.Renderer {
    
    		public ImagesMvt _images;
    		Context _context;
    		public MyRenderer(Context context,ArrayList<Integer> list){
    			_context = context;
    			_images = new ImagesMvt(_context,  2, 2, list);
    		}
    		public void  Init(ArrayList<Integer> list) {
    			_images = new ImagesMvt(_context,  2, 2, list);
    		}   
    	public void onDrawFrame(GL10 gl) {
    		gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);			  
    		_images.draw(gl);
    	}

    et dans la classe ImageMvt j'utilise ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	    		for (int num = 0 ; num < _nbImg ; num++)
    	    		{
    	    			_img[num].SetImage(gl, ((BitmapDrawable)_context.getResources().getDrawable(Reference._images[0][num])).getBitmap(),mTextIDs.get(num),_posImgX[num]*_largeur/4.f , _posImgY[num]*_largeur/4.f, _angleImg[num] );
    	    		}
    ca crache à getDrawable :

    j'ai ca :

    11-16 22:44:25.819: ERROR/AndroidRuntime(347): android.content.res.Resources$NotFoundException: Resource ID #0x7f020056

    11-16 22:44:25.819: ERROR/AndroidRuntime(347): at android.content.res.Resources.getValue(Resources.java:892)
    11-16 22:44:25.819: ERROR/AndroidRuntime(347): at android.content.res.Resources.getDrawable(Resources.java:580)

    11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.markguerra.android.glwallpaperexample.ImagesMvt.InitImages(ImagesMvt.java:208)

    11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.markguerra.android.glwallpaperexample.ImagesMvt.draw(ImagesMvt.java:320)

    11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.markguerra.android.glwallpaperexample.MyRenderer.onDrawFrame(MyRenderer.java:28)

    11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.rbgrn.android.glwallpaperservice.GLThread.guardedRun(GLWallpaperService.java:663)

    11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.rbgrn.android.glwallpaperservice.GLThread.run(GLWallpaperService.java:528)

    Avez-vous une suggestion ?

    Merci

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    11-16 22:44:25.819: ERROR/AndroidRuntime(347): android.content.res.Resources$NotFoundException: Resource ID #0x7f020056
    A ta place je regarderais tout d'abord dans le fichier R.java si cette ressources existe . (Clean Project).

    Si elle existe, change le Context :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyEngine engine = new MyEngine(getApplicationContext());

Discussions similaires

  1. emplacement de l'image de fond d'écran win xp
    Par t26 dans le forum Windows XP
    Réponses: 3
    Dernier message: 02/09/2005, 10h22
  2. image de fond d'écran
    Par badr dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 28/04/2005, 16h50
  3. [Debutant] Fond d'écran
    Par Tchakeur dans le forum OpenGL
    Réponses: 2
    Dernier message: 24/01/2005, 11h47
  4. Problème de clignotement de fond d'écran en mode MDI
    Par Tardiff Jean-François dans le forum Composants VCL
    Réponses: 3
    Dernier message: 17/12/2004, 16h19
  5. Comment changer l'image Bitmap en fond d'écran du bureau ?
    Par Maddelphi dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 23/06/2004, 19h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo