集训day_09_3(人品计算器案例)

一、画布局

1.EditText:输入姓名

2.RadioGroup:里面放多个RadioButton选项

3.Button:跳转到结果页面

二、准备第二个页面

1.activity_result.xml:显示结果布局

2.TextView:三个,用来显示结果

3.ResultActivity:用来加载第二个布局

4.配置清单文件

三、在MainActivity读取输入的数据并传到ResultActivity

public void click(View v){

    //【1】获取姓名
    String name = et_name.getText().toString().trim();
    //【2】判断是否为空
    if(TextUtils.isEmpty(name)){
        Toast.makeText(MainActivity.this,"请输入姓名",Toast.LENGTH_SHORT).show();
        return;
    }
    //【3】判断用户性别
    int radioButtonId = rg_group1.getCheckedRadioButtonId();
    int sex = 0;
    switch (radioButtonId){
        case R.id.rb_man:
            sex = 1;
            break;
        case R.id.rb_woman:
            sex = 2;
            break;
        case R.id.rb_other:
            sex = 3;
            break;
    }
    if(sex == 0){
        Toast.makeText(MainActivity.this,"请选择性别",Toast.LENGTH_SHORT).show();
        return;
    }
    //【4】跳转到ResuleActivity
    Intent intent = new Intent(MainActivity.this,ResultActivity.class);

    //【5】传递数据:姓名、性别
    intent.putExtra("name",name);
    intent.putExtra("sex",sex);

    startActivity(intent);
}

四、在Result中接受数据并显示

protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_resule);

    TextView tv_name = findViewById(R.id.tv_name);
    TextView tv_sex = findViewById(R.id.tv_sex);
    TextView tv_result = findViewById(R.id.tv_result);

    //【1】获取MainActivity传过来的数据
    Intent intent = getIntent();
    //【2】获取name,sex
    String name = intent.getStringExtra("name");
    int sex = intent.getIntExtra("sex",0);

    //【3】将返回的数据显示到TextView上
    byte[] bytes = null;
    tv_name.setText(name);
    try {
        switch (sex) {
            case 1:
                tv_sex.setText("男");
                bytes= name.getBytes("utf-8");
                break;
            case 2:
                tv_sex.setText("女");
                bytes= name.getBytes("gbk");
                break;
            case 3:
                tv_sex.setText("人妖");
                bytes= name.getBytes("iso-8859-1");
                break;
        }
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    //【4】计算人品的结果
    int total=0;
    for (byte b : bytes){
        int number = b&0xff;
        total+=number;
    }
    //【5】并显示获取得分
    int score = Math.abs(total)%100;
    if(score>=75){
        tv_result.setText("人品得分:"+score+"\n哇!人品爆棚,进入买彩票必中");
    }else if(score>=50){
        tv_result.setText("人品得分:"+score+"\n棒棒哒,朋友多到爆");
    }else if(score>=25){
        tv_result.setText("人品得分:"+score+"\n嗯~还可以吧,有待提高喽");
    }else {
        tv_result.setText("人品得分:"+score+"\n咦,人品太次了,快去读读圣经吧哈哈");
    }
}

 

猜你喜欢

转载自blog.csdn.net/depths_p/article/details/81236752