1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="fr.koor.megagame.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="@string/lblTitle" android:id="@+id/textView" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="number" android:ems="10" android:id="@+id/txtNumber" android:layout_below="@+id/textView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_toLeftOf="@+id/btnCompare" android:layout_toStartOf="@+id/btnCompare" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/btnCompare" android:id="@+id/btnCompare" android:layout_below="@+id/textView" android:layout_alignRight="@+id/textView" android:layout_alignEnd="@+id/textView" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:id="@+id/lblResult" android:layout_below="@+id/btnCompare" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignRight="@+id/btnCompare" android:layout_alignEnd="@+id/btnCompare" /> <ProgressBar style="?android:attr/progressBarStyleHorizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/pgbScore" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_below="@+id/lblResult" android:layout_alignRight="@+id/lblResult" android:layout_alignEnd="@+id/lblResult" android:indeterminate="false" android:max="10" android:progress="8" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:id="@+id/lblHistory" android:layout_below="@+id/pgbScore" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentBottom="true" android:layout_alignRight="@+id/pgbScore" android:layout_alignEnd="@+id/pgbScore" /> </RelativeLayout> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<resources> <string name="app_name">MegaGame V 1.0</string> <string name="lblTitle">Enter a value between 1 and 100:</string> <string name="btnCompare">Compare</string> <string name="strGreater">Please enter a greater value.</string> <string name="strLower">Please enter a lower value.</string> <string name="strCongratulations">Congratulations</string> <string name="strMessage">Congratulations, You win in %d times. Do you want retry?</string> <string name="strYes">Yes</string> <string name="strNo">No</string> </resources> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
package fr.koor.megagame; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ProgressBar; import android.widget.TextView; import java.text.DateFormat; import java.text.NumberFormat; import java.util.Date; public class MainActivity extends AppCompatActivity { private EditText txtNumber; private Button btnCompare; private TextView lblResult; private ProgressBar pgbScore; private TextView lblHistory; private int searchedValue; private int score; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txtNumber = (EditText) findViewById( R.id.txtNumber ); btnCompare = (Button) findViewById( R.id.btnCompare ); lblResult = (TextView) findViewById( R.id.lblResult ); pgbScore = (ProgressBar) findViewById( R.id.pgbScore ); lblHistory = (TextView) findViewById( R.id.lblHistory ); btnCompare.setOnClickListener( btnCompareListener ); init(); NumberFormat formatter = NumberFormat.getCurrencyInstance(); double price = 1_000_000.01; Log.i( "DEBUG", formatter.format( price ) ); DateFormat dataFormatter = DateFormat.getDateTimeInstance(); Log.i( "DEBUG", dataFormatter.format( new Date() ) ); } private void init() { score = 0; searchedValue = 1 + (int) (Math.random() * 100); Log.i( "DEBUG", "Searched value : " + searchedValue ); txtNumber.setText( "" ); pgbScore.setProgress( score ); lblResult.setText( "" ); lblHistory.setText( "" ); txtNumber.requestFocus(); } private void congratulations() { lblResult.setText( R.string.strCongratulations ); AlertDialog retryAlert = new AlertDialog.Builder( this ).create(); retryAlert.setTitle( R.string.app_name ); retryAlert.setMessage( getString(R.string.strMessage, score ) ); retryAlert.setButton( AlertDialog.BUTTON_POSITIVE, getString(R.string.strYes), new AlertDialog.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { init(); } }); retryAlert.setButton( AlertDialog.BUTTON_NEGATIVE, getString(R.string.strNo), new AlertDialog.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish(); } }); retryAlert.show(); } private View.OnClickListener btnCompareListener = new View.OnClickListener() { @Override public void onClick(View v) { Log.i( "DEBUG", "Button clicked" ); String strNumber = txtNumber.getText().toString(); if ( strNumber.equals( "" ) ) return; int enteredValue = Integer.parseInt( strNumber ); lblHistory.append( strNumber + "\r\n" ); pgbScore.incrementProgressBy( 1 ); score++; if ( enteredValue == searchedValue ) { congratulations(); } else if ( enteredValue < searchedValue ) { lblResult.setText( R.string.strGreater ); } else { lblResult.setText( R.string.strLower ); } txtNumber.setText( "" ); txtNumber.requestFocus(); } }; } |
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :