Advertisement
Ankhwatcher

FizzBuzz For Android

Jun 19th, 2012
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.15 KB | None | 0 0
  1. package ie.appz.fizzbuzz;
  2.  
  3. import android.app.Activity;
  4. import android.media.MediaPlayer;
  5. import android.os.Bundle;
  6. import android.view.ViewGroup.LayoutParams;
  7. import android.widget.TableLayout;
  8. import android.widget.TableRow;
  9. import android.widget.TextView;
  10.  
  11. public class FizzBuzzActivity extends Activity {
  12.     private MediaPlayer fizzMP, buzzMP;
  13.     private TableLayout displayTable;
  14.     private String srowText, srowNumb;
  15.  
  16.     @Override
  17.     public void onCreate(Bundle savedInstanceState) {
  18.         super.onCreate(savedInstanceState);
  19.         setContentView(R.layout.main);
  20.         displayTable = (TableLayout) findViewById(R.id.table);
  21.         fizzMP = MediaPlayer.create(FizzBuzzActivity.this, R.raw.fizz);
  22.         buzzMP = MediaPlayer.create(FizzBuzzActivity.this, R.raw.buzz);
  23.         new Thread(mUpdate).start();
  24.     }
  25.  
  26.     private Runnable mUpdate = new Runnable() {
  27.         public void run() {
  28.             for (int i = 1; i < 101; i++) {
  29.                 srowText = "";
  30.                 srowNumb = i + "|";
  31.  
  32.                 srowText = "";
  33.                 if (i % 3 == 0) {
  34.                     fizzMP.start();
  35.                     srowText += "Fizz";
  36.                 }
  37.  
  38.                 if (i % 5 == 0) {
  39.                     srowText += "Buzz";
  40.                     new Thread(new Runnable() {
  41.                         @Override
  42.                         public void run() {
  43.                             try {
  44.                                 Thread.sleep(250);
  45.                             } catch (InterruptedException e) {
  46.                                 e.printStackTrace();
  47.                             }
  48.                             buzzMP.start();
  49.  
  50.                         }
  51.                     }).start();
  52.                 }
  53.  
  54.                 runOnUiThread(new Runnable() {
  55.                     @Override
  56.                     public void run() {
  57.                         TableRow newRow = new TableRow(FizzBuzzActivity.this);
  58.                         TextView rowNumb = new TextView(FizzBuzzActivity.this);
  59.                         TextView rowText = new TextView(FizzBuzzActivity.this);
  60.                         rowNumb.setText(srowNumb);
  61.                         rowText.setText(srowText);
  62.                         newRow.addView(rowNumb, 0);
  63.                         newRow.addView(rowText, 1);
  64.                         displayTable.addView(newRow,
  65.                                 new TableLayout.LayoutParams(
  66.                                         LayoutParams.FILL_PARENT,
  67.                                         LayoutParams.WRAP_CONTENT));
  68.                     }
  69.                 });
  70.                 try {
  71.                     Thread.sleep(1000);
  72.                 } catch (InterruptedException e) {
  73.                     e.printStackTrace();
  74.                 }
  75.  
  76.             }
  77.  
  78.             complete(buzzMP, fizzMP);
  79.         }
  80.  
  81.         void complete(MediaPlayer MP1, MediaPlayer MP2) {
  82.             MP1.release();
  83.             MP2.release();
  84.         }
  85.     };
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement