Sudoku.java
上传用户:xmjingguan
上传日期:2009-07-06
资源大小:2054k
文件大小:3k
源码类别:

android开发

开发平台:

Java

  1. /***
  2.  * Excerpted from "Hello, Android!",
  3.  * published by The Pragmatic Bookshelf.
  4.  * Copyrights apply to this code. It may not be used to create training material, 
  5.  * courses, books, articles, and the like. Contact us if you are in doubt.
  6.  * We make no guarantees that this code is fit for any purpose. 
  7.  * Visit http://www.pragmaticprogrammer.com/titles/eband for more book information.
  8. ***/
  9. package org.example.sudoku;
  10. import android.app.Activity;
  11. import android.app.AlertDialog;
  12. import android.content.DialogInterface;
  13. import android.content.Intent;
  14. import android.os.Bundle;
  15. import android.util.Log;
  16. import android.view.Menu;
  17. import android.view.MenuInflater;
  18. import android.view.MenuItem;
  19. import android.view.View;
  20. import android.view.View.OnClickListener;
  21. public class Sudoku extends Activity implements OnClickListener {
  22.    private static final String TAG = "Sudoku";
  23.    
  24.    /** Called when the activity is first created. */
  25.    @Override
  26.    public void onCreate(Bundle savedInstanceState) {
  27.       super.onCreate(savedInstanceState);
  28.       setContentView(R.layout.main);
  29.       // Set up click listeners for all the buttons
  30.       View continueButton = findViewById(R.id.continue_button);
  31.       continueButton.setOnClickListener(this);
  32.       View newButton = findViewById(R.id.new_button);
  33.       newButton.setOnClickListener(this);
  34.       View aboutButton = findViewById(R.id.about_button);
  35.       aboutButton.setOnClickListener(this);
  36.       View exitButton = findViewById(R.id.exit_button);
  37.       exitButton.setOnClickListener(this);
  38.    }
  39.    
  40.    @Override
  41.    protected void onResume() {
  42.       super.onResume();
  43.       Music.play(this, R.raw.main);
  44.    }
  45.    @Override
  46.    protected void onPause() {
  47.       super.onPause();
  48.       Music.stop(this);
  49.    }
  50.    
  51.    
  52.    public void onClick(View v) {
  53.       switch (v.getId()) {
  54.       case R.id.continue_button:
  55.          startGame(Game.DIFFICULTY_CONTINUE);
  56.          break;
  57.          // ...
  58.          
  59.       case R.id.about_button:
  60.          Intent i = new Intent(this, About.class);
  61.          startActivity(i);
  62.          break;
  63.       // More buttons go here (if any) ...
  64.       case R.id.new_button:
  65.          openNewGameDialog();
  66.          break;
  67.       case R.id.exit_button:
  68.          finish();
  69.          break;
  70.          
  71.       }
  72.    }
  73.    
  74.    
  75.    @Override
  76.    public boolean onCreateOptionsMenu(Menu menu) {
  77.       super.onCreateOptionsMenu(menu);
  78.       MenuInflater inflater = getMenuInflater();
  79.       inflater.inflate(R.menu.menu, menu);
  80.       return true;
  81.    }
  82.    @Override
  83.    public boolean onOptionsItemSelected(MenuItem item) {
  84.       switch (item.getItemId()) {
  85.       case R.id.settings:
  86.          startActivity(new Intent(this, Prefs.class));
  87.          return true;
  88.       // More items go here (if any) ...
  89.       }
  90.       return false;
  91.    }
  92.    /** Ask the user what difficulty level they want */
  93.    private void openNewGameDialog() {
  94.       new AlertDialog.Builder(this)
  95.            .setTitle(R.string.new_game_title)
  96.            .setItems(R.array.difficulty,
  97.             new DialogInterface.OnClickListener() {
  98.                public void onClick(DialogInterface dialoginterface,
  99.                      int i) {
  100.                   startGame(i);
  101.                }
  102.             })
  103.            .show();
  104.    }
  105.    /** Start a new game with the given difficulty level */
  106.    private void startGame(int i) {
  107.       Log.d(TAG, "clicked on " + i);
  108.       Intent intent = new Intent(Sudoku.this, Game.class);
  109.       intent.putExtra(Game.KEY_DIFFICULTY, i);
  110.       startActivity(intent);
  111.    }
  112. }