• 人品计算器小案例


     mainActivity的业务逻辑 

     1 public class MainActivity extends Activity {
     2 
     3     private EditText et_name;
     4     private RadioGroup rg_group;
     5 
     6     @Override
     7     protected void onCreate(Bundle savedInstanceState) {
     8         super.onCreate(savedInstanceState);
     9         setContentView(R.layout.activity_main);
    10         
    11         //(1)找到我们关心的控件
    12         et_name = (EditText) findViewById(R.id.et_name);
    13         rg_group = (RadioGroup) findViewById(R.id.rg_group);
    14         
    15     }
    16 
    17     //点击按钮 获取数据 跳转到resultActivity页面 
    18     public void click(View v) {
    19         
    20         //[1]获取用户名
    21         String name = et_name.getText().toString().trim();
    22         if (TextUtils.isEmpty(name)) {
    23             Toast.makeText(getApplicationContext(), "用户名不能为空", Toast.LENGTH_LONG).show();
    24             return;
    25         }
    26         
    27         //[2]判断选中性别
    28         int checkedRadioButtonId = rg_group.getCheckedRadioButtonId();
    29         //[3]判断一下具体选中的性别 
    30         int sex = 0; //默认值为0
    31         switch (checkedRadioButtonId) {
    32         case R.id.rb_male:   //选中的是男
    33             sex = 1;
    34             break;
    35             
    36         case R.id.rb_female: //选中的是女
    37             sex = 2;
    38             
    39             break;
    40 
    41         case R.id.rb_other: //代表选中的是人妖
    42             sex = 3;
    43             break;
    44         }
    45         //[4]判断性别
    46         if (sex == 0) {
    47             Toast.makeText(getApplicationContext(), "亲 请选择性别 ", 0).show();
    48             return;
    49         }
    50 
    51         //[5] 跳转到resutActivity页面  显示意图
    52         Intent intent = new Intent(this,ResultActivity.class);
    53         
    54         //[5.1]要把name 和 sex 传递到结果页面  底层map
    55         intent.putExtra("name", name);
    56         intent.putExtra("sex", sex);
    57         
    58         //[6]开启Activity
    59         startActivity(intent);
    60         
    61         
    62         
    63     }
    64     
    65 
    66 }

     resutlActivity的业务逻辑

     1 public class ResultActivity extends Activity {
     2 
     3     @Override
     4     protected void onCreate(Bundle savedInstanceState) {
     5         super.onCreate(savedInstanceState);
     6         // 加载页面
     7         setContentView(R.layout.activity_result);
     8         // [1]找到我们关心的控件
     9         TextView tv_name = (TextView) findViewById(R.id.tv_name);
    10         TextView tv_sex = (TextView) findViewById(R.id.tv_sex);
    11         TextView tv_result = (TextView) findViewById(R.id.tv_result);
    12 
    13         // [2]获取开启此Activity的意图对象
    14         Intent intent = getIntent();
    15         // [3]获取我们携带过来的数据 取出性别和name 传递的是什么样的数据类型 你在取的时候
    16         String name = intent.getStringExtra("name");// 获取name
    17         int sex = intent.getIntExtra("sex", 0);
    18 
    19         // [4]把数据显示到控件上
    20         tv_name.setText(name); // 显示姓名
    21 
    22         // [5]显示性别
    23         byte[] bytes = null;
    24         
    25         try {
    26             switch (sex) {
    27             case 1: // 代表男
    28                 tv_sex.setText("男");
    29                 bytes = name.getBytes("gbk");
    30                 
    31                 break;
    32 
    33             case 2:
    34                 tv_sex.setText("女");
    35                 bytes = name.getBytes("utf-8");
    36                 break;
    37 
    38             case 3:
    39                 tv_sex.setText("人妖");
    40                 bytes= name.getBytes("iso-8859-1");
    41                 break;
    42             }
    43         } catch (UnsupportedEncodingException e) {
    44             e.printStackTrace();
    45         }
    46 
    47         //[6]根据我们输入的姓名和性别 来计算人品得分  根据得分显示结果  
    48         int  total = 0;
    49         for (byte b : bytes) {     //0001 1000
    50               int number =b&0xff;             //1111 1111
    51               total+=number;
    52         }
    53         
    54         //算出得分 
    55         int score = Math.abs(total)%100;
    56         if (score >90) {
    57             tv_result.setText("您的人品非常好 您家的祖坟都冒青烟了");
    58         }else if (score >70) {
    59             tv_result.setText("有你这样的人品算是不错了..");
    60         }else if (score >60) {
    61             tv_result.setText("您的人品刚刚及格");
    62         }else{
    63             tv_result.setText("您的人品不及格....");
    64             
    65         }
    66             
    67         
    68         
    69     }
    70 
    71 }
  • 相关阅读:
    ARC108解题报告
    整体dp小结
    SAM学习笔记&AC自动机复习
    Error creating bean with name 'bootstrapImportSelectorConfiguration':
    responseBody
    无力回天的CSP2020
    NOIP2020游记
    2020国家集训队作业选做
    flutter开发使用AnnotatedRegion修改状态栏字体颜色,导致导航栏也变黑了的解决方法
    flutter使用InkWell点击没有水波纹效果的解决方法
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/5859543.html
Copyright © 2020-2023  润新知