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 }