首页 > 代码库 > 人品计算器小案例

人品计算器小案例

 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; //默认值为031         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 传递到结果页面  底层map55         intent.putExtra("name", name);56         intent.putExtra("sex", sex);57         58         //[6]开启Activity59         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");// 获取name17         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 100050               int number =b&0xff;             //1111 111151               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 }

 

人品计算器小案例