2012-05-06 6 views
0

J'utilise le livre "Sams teach youh Android Application Develoment in 24 hours".Ajout de LOG.i() au programme

a obtenu ce programme

package com.androidbook.droid1; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 

/** 
* @author Trashcan 
* 
*/ 
public class Droid1Activity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     private static final String TAG = "app_name"; 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Log.i(TAG,"WTF is going on ?"); 
    } 
} 

http://developer.android.com/reference/android/util/Log.html est l'API de celui-ci.

Vous avez essayé et vous vous êtes débrouillé avec ça et vous n'avez tout simplement pas compris où Eclipse l'accepterait.

+0

Quel est exactement le problème ici? –

Répondre

0

Vous ne pouvez pas définir une variable static dans une méthode. Refactorisez votre code pour que la déclaration de TAG soit au niveau de la classe. Par exemple:

package com.androidbook.droid1; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 

/** 
* @author Trashcan 
* 
*/ 
public class Droid1Activity extends Activity { 

    private static final String TAG = "app_name"; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Log.i(TAG,"WTF is going on ?"); 
    } 
} 
+0

Travaillé, déplacé la chaîne de quelques lignes plus haut et cela a fonctionné comme un charme. – AGZ

+0

Bien que, vous compreniez que ce n'était pas nécessairement le déplacement qui a provoqué le changement, il le déplaçait hors de la méthode. – gobernador

3

Il y a une ligne qui ne devrait pas être dans la méthode mais en dehors de la méthode. Ne recevez-vous pas un avertissement en disant autant?

+0

ouais, j'ai oublié ça. Modificateur illégal pour le paramètre TAG; seule la version finale est autorisée \t Droid1Activity.java \t/Heure 1 - Droid1/src/com/androidbook/droid1 \t ligne 16 \t Java Problème – AGZ

+1

Exactement, et qu'est-ce que cela vous dit à propos de la ligne 16 (indice: vous ne pouvez pas spécifier la visibilité et statique pour une variable locale)? Cette ligne n'appartient pas à la méthode. –

0

Essayez d'appeler super.onCreate(savedInstanceState) en premier dans onCreate(). Je ne suis pas sûr si cela va réparer quelque chose, mais je ne peux pas vraiment dire quel est votre problème.

En outre, il semble plus approprié d'utiliser Log.wtf() dans ce cas particulier, mais c'est mon opinion personnelle.

+1

Haha ... Je ne savais pas Android avait un Log.wtf() –

+0

Nouveau à cela, donc je vais tester plus de choses aussi. C'est principalement pour travailler sur le débogueur Eclipse, comme vous le savez déjà. Merci pour la réponse. – AGZ

Questions connexes