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.about_button:
  55.          Intent i = new Intent(this, About.class);
  56.          startActivity(i);
  57.          break;
  58.       // More buttons go here (if any) ...
  59.       case R.id.new_button:
  60.          openNewGameDialog();
  61.          break;
  62.       case R.id.exit_button:
  63.          finish();
  64.          break;
  65.       }
  66.    }
  67.    
  68.    @Override
  69.    public boolean onCreateOptionsMenu(Menu menu) {
  70.       super.onCreateOptionsMenu(menu);
  71.       MenuInflater inflater = getMenuInflater();
  72.       inflater.inflate(R.menu.menu, menu);
  73.       return true;
  74.    }
  75.    @Override
  76.    public boolean onOptionsItemSelected(MenuItem item) {
  77.       switch (item.getItemId()) {
  78.       case R.id.settings:
  79.          startActivity(new Intent(this, Prefs.class));
  80.          return true;
  81.       // More items go here (if any) ...
  82.       }
  83.       return false;
  84.    }
  85.    /** Ask the user what difficulty level they want */
  86.    private void openNewGameDialog() {
  87.       new AlertDialog.Builder(this)
  88.            .setTitle(R.string.new_game_title)
  89.            .setItems(R.array.difficulty,
  90.             new DialogInterface.OnClickListener() {
  91.                public void onClick(DialogInterface dialoginterface,
  92.                      int i) {
  93.                   startGame(i);
  94.                }
  95.             })
  96.            .show();
  97.    }
  98.    /** Start a new game with the given difficulty level */
  99.    private void startGame(int i) {
  100.       Log.d(TAG, "clicked on " + i);
  101.       Intent intent = new Intent(Sudoku.this, Game.class);
  102.       intent.putExtra(Game.KEY_DIFFICULTY, i);
  103.       startActivity(intent);
  104.    }
  105. }