码迷,mamicode.com
首页 > 其他好文 > 详细

人品计算器小案例

时间:2016-09-10 16:09:25      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

 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 }

 

人品计算器小案例

标签:

原文地址:http://www.cnblogs.com/xufengyuan/p/5859543.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!