getIntExtra() et putExtra()?

J'ai lu Bonjour Android livre et je n'ai pas understan le code suivant.
Je ne sais pas, que faire getIntExtra() et putExtra() int ce code.

 private void startGame(int i) {
     Log.d(TAG, "clicked on " + i);
     Intent intent = new Intent(Sudoku.this, Game.class);
     intent.putExtra(Game.KEY_DIFFICULTY, i);
     startActivity(intent);
 }

Game.java

public class Game extends Activity {
    private static final String TAG = "Sudoku" ;
    public static final String KEY_DIFFICULTY ="org.example.sudoku.difficulty" ;
    public static final int DIFFICULTY_EASY = 0;
    public static final int DIFFICULTY_MEDIUM = 1;
    public static final int DIFFICULTY_HARD = 2;
    private int puzzle[] = new int[9 * 9];
    private PuzzleView puzzleView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d(TAG, "onCreate" );
        int diff = getIntent().getIntExtra(KEY_DIFFICULTY,DIFFICULTY_EASY);
        puzzle = getPuzzle(diff);
        calculateUsedTiles();
        puzzleView = new PuzzleView(this);
        setContentView(puzzleView);
        puzzleView.requestFocus();
    }
    //...
}

Le problème que j'ai c'est que vous êtes la fixation d'un local integer (‘diff’) au sein de la classe de Jeu. avec une valeur par défaut de zéro (facile) puis, immédiatement après le passage dans la getPuzzle méthode .... comment l'utilisateur de la valeur d'entrée ( la valeur réelle si tout se passe bien) jamais trouver son chemin dans le getPuzzle méthode?

  • son passé ici ---private void startGame(int i)
  • En fait, je ne comprends pas vraiment ce que vous voulez! Si vous souhaitez obtenir la saisie de l'utilisateur, il suffit de créer un EditText et tout ce que vous voulez!!
InformationsquelleAutor Pariya | 2012-09-07