黑马程序员第六天

来源:互联网 发布:网络推广有哪些好处 编辑:程序博客网 时间:2024/04/27 23:06
1 如何创建一个新的Activity 
 [1]Android的四大组件都要在清单文件里面配置
  [2]如果你想让你的应用有多个启动图标你的Activity需要这样配置
  
  [3]Activity下的lable和icon 属性可以和Application节点的属性不一样 默认用Application节点下的属性 
   [4]一个Android应用一般我们就配置一个启动图标就可以 看见的其他页面都是从第一个页面跳转进去 

2 隐式意图(intent) 
 定义:通过指定一组动作或者数据


3 显示意图 
 定义:通过指定具体的包名和类名

 总结:[1]开启自己应用的界面用显示意图 
      [2]开启其他应用(系统应用)的时候用隐式意图 电话拨号器 
     [3]显示意图安全一些 


4 人品计算器小案例
 [1]画页面
  

  [2]实现maniActivity的逻辑 
  
  1. // 点击按钮 实现计算人品跳转到ResultActivity页面
  2. public voidclick(Viewv){
  3. // [1]获取用户名
  4. String name= et_name.getText().toString().trim();
  5. // [2] 判断一下name是否为空
  6. if (TextUtils.isEmpty(name)){
  7. Toast.makeText(getApplicationContext(),"亲请输入姓名", 1).show();
  8. return;
  9. }
  10. // [3]判断用户选择的性别
  11. int radioButtonId =rg_group.getCheckedRadioButtonId();
  12. int sex= 0;
  13. switch (radioButtonId){
  14. case R.id.rb_male://代表选择的是男
  15. sex =1;
  16. break;
  17. case R.id.rb_female://代表选择的是女
  18. sex =2;
  19. break;
  20. case R.id.rb_other://代表选择的是人妖
  21. sex =3;
  22. break;
  23. }
  24. if(sex== 0){
  25. Toast.makeText(getApplicationContext(),"请选择性别",1).show();
  26. return;
  27. }
  28. //[4]跳转到ResultActivity页面用显示意图跳转
  29. Intent intent= newIntent(this,ResultActiviyt.class);
  30. //传递姓名
  31. intent.putExtra("name",name);
  32. //传递性别
  33. intent.putExtra("sex",sex);
  34. startActivity(intent);
  35. }
  [3]跳转到结果页面逻辑       
   
  1. super.onCreate(savedInstanceState);
  2. // [1]加载布局
  3. setContentView(R.layout.activity_result);
  4. TextView tv_name= (TextView)findViewById(R.id.tv_name);
  5. TextView tv_sex= (TextView)findViewById(R.id.tv_sex);
  6. TextView tv_result= (TextView)findViewById(R.id.tv_result);
  7. // [2]获取mainActivity传递过来的数据
  8. Intent intent= getIntent();//获取开启此Activity的意图对象
  9. // [3]获取name 和 sex 的值 小技巧 :传递的是什么数据类型这边就按照传递的数据类型取
  10. String name= intent.getStringExtra("name");
  11. int sex= intent.getIntExtra("sex",0);
  12. // [4]根据name 和 sex显示数据
  13. tv_name.setText(name);
  14. byte[]bytes =null;
  15. // [5]显示性别
  16. try {
  17. switch (sex){
  18. case 1:
  19. tv_sex.setText("男");
  20. bytes =name.getBytes("gbk");
  21. break;
  22. case 2:
  23. tv_sex.setText("女");
  24. bytes =name.getBytes("utf-8");
  25. break;
  26. case 3:
  27. tv_sex.setText("人妖");
  28. bytes =name.getBytes("iso-8859-1");
  29. break;
  30. default:
  31. break;
  32. }
  33. } catch(UnsupportedEncodingExceptione){
  34. e.printStackTrace();
  35. }
  36. //[6]计算人品结果市面上大多数应用采用的是随机数
  37. int total= 0;
  38. for (byteb :bytes){ // 00011111
  39. int number= b&0xff;// 11111111
  40. total+=number;
  41. }
  42. // 获取得分
  43. int score= Math.abs(total)%100;
  44. if (score> 90){
  45. tv_result.setText("您的人品非常好,您家的祖坟都冒青烟啦");
  46. }elseif (score> 80){
  47. tv_result.setText("您的人品还可以");
  48. }elseif (score> 60){
  49. tv_result.setText("您的人品刚及格");
  50. }else{
  51. tv_result.setText("您的人品太次了您需要努力啊");
  52. }

   

5 短信大全小案例
  
  1. //[1]找到lv
  2. ListView lv= (ListView)findViewById(R.id.lv);
  3. //[2]设置数据 先有数据
  4. ArrayAdapter<</span>String>adapter =new ArrayAdapter<</span>String>(this,R.layout.item,objects);
  5. //[3]设置数据适配器
  6. lv.setAdapter(adapter);
  7. //[4]给listview设置 点击事件 小技巧:
  8. lv.setOnItemClickListener(newOnItemClickListener(){
  9. //当listview的一个条目被点击的时候调用
  10. @Override
  11. public voidonItemClick(AdapterView
0 0
原创粉丝点击