Je suis nouveau chez Java et OpenGL.
J'essaie d'obtenir un écran de prévisualisation de la caméra avec la capacité de Affichez des objets 3D simultanément. Avoir traversé les échantillons à Les démos de l'API, je pensais combiner le code pour les exemples à la démonstration de l'API suffirait. Mais d'une manière ou d'une autre chose ne fonctionne pas. Le force moi Pour arrêter le démarrage et l'erreur est mentionnée comme un pointeur null exception. Quelqu'un pourrait-il partager avec moi où est-ce que je me suis trompé et comment procéder de là. Comment j'ai fait la combinaison pour le code est comme indiqué Ci-dessous: P>
myOverview.xml p>
myoverview.java p>
GLSURFACEVIEW.JAVA P>
import android.content.Context;
class GLSurfaceView extends android.opengl.GLSurfaceView {
public GLSurfaceView(Context context) {
super(context);
}
}
Je n'ai pas répertorié le reste des fichiers car ils ne sont que des copies de les démos de l'API. Le Cameraview fait référence à l'exemple CamerApReview.java et le cuberender se réfère à cuberenderer.java et cube.java Exemple. Toute aide serait appréciée. p> li>
Désolé, je n'ai pas réalisé que le codage était hors de propos grâce à des erreurs de mise en forme. p> li> ul> p>
4 Réponses :
Découvrez comment résoudre ... Via la voie Java ... utilisez simplement AddContentView au lieu d'utiliser XML .... bien au moins sa résolue. :) p>
La raison pour laquelle vous obtenez une exception de pointeur nulle lorsque vous travaillez avec .xml est parce que vous créez de nouvelles vues dans votre code Java .. Au lieu d'utiliser ceux du fichier .xml auquel vous aurez peut-être passé des propriétés (si U a passé dans des propriétés qui sont ..) .. La nouvelle vue aurait évidemment une valeur nulle .. Jouant ainsi une exception de pointeur Null ... Par exemple - P>
cubesview = nouveau GLSURFACEView (this); p>
n'est en fait pas nécessaire dans le code si vous avez déjà créé la vue dans le fichier .xml contenant framelayout .. p>
Je l'ai fait en fait ici dans Ce link a > qui fournit une implémentation complète. p>
Ceci est très simple en fait ... Si vous souhaitez définir votre vue en XML, vous devez simplement mettre en œuvre
Public GLSurfaceView(Context context, AttributeSet attrs) {
...
super(context, attrs);
}