初学安卓,花了几个小时做了一个猜数字小游戏,弄着玩玩。
界面 active_main.xml
<?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:id="@+id/activity_main"
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="com.example.matt.guessnumber.MainActivity">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入一个数字!" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/editText"
android:text="猜这个"/>
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/button"
android:hint="数字未输入!"/>
</RelativeLayout>
脚本 MainActivity.java
package com.example.matt.guessnumber;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
game();
}
private void game() {
final EditText editText = (EditText) findViewById(R.id.editText);
final Button button = (Button) findViewById(R.id.button);
final TextView textView = (TextView) findViewById(R.id.textView);
editText.setText("");
textView.setText("数字未输入!");
Random random = new Random();
// 生成1-100的随机数
final int number = random.nextInt(100) + 1;
// 获取输入的数字
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int guessNumber = Integer.parseInt(editText.getText().toString());
// 两者进行判断
if (guessNumber < number) {
textView.setText("数字小了!");
} else if (guessNumber > number){
textView.setText("数字大了!");
} else {
textView.setText("恭喜您猜对了!");
confirm();
}
}
});
}
private void confirm() {
new AlertDialog.Builder(this).setTitle("猜对啦!继续游戏吗?")
.setIcon(android.R.drawable.ic_dialog_info)
.setPositiveButton("继续游戏", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 点击“继续游戏”后的操作,继续游戏
game();
}
})
.setNegativeButton("退出", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 点击“确认”后的操作
MainActivity.this.finish();
}
}).show();
}
}
主界面
猜中界面
注意:不要输入例如“20.5”这样的小数,否则会闪退。