1、strings.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <resources>
 3
 4     <string name="app_name">BMI</string>
 5         <string name="height">身高(cm)</string>
 6         <string name="weight">体重(kg)</string>
 7         <string name="bmi_btn">计算BMI值</string>
 8         <string name="bmi_result">你的BMI值是</string>
 9         <string name="about_title">关于Android BMI</string>
10         <string name="about_msg">Android BMI Calc\n
11             作者 lovemu\n\n
12             lovemu+android[at]gmail.com</string>
13         <string name="ok_label">确认</string>
14         <string name="homepage_label">首页</string>
15         <string name="homepage_uri">http://androidbmi.googlecode.com/</string>
16     <string name="hello_world">Hello world!</string>
17     <string name="menu_settings">Settings</string>
18
19 </resources>

2、MainActivity.java

  1 package example.bmi;
  2
  3 import java.text.DecimalFormat;
  4
  5 import android.net.Uri;
  6 import android.os.Bundle;
  7 import android.app.Activity;
  8 import android.app.AlertDialog;
  9 import android.content.DialogInterface;
 10 import android.content.Intent;
 11 import android.view.Menu;
 12 import android.view.View;
 13 import android.view.View.OnClickListener;
 14 import android.widget.Button;
 15 import android.widget.EditText;
 16 import android.widget.TextView;
 17
 18 public class MainActivity extends Activity {
 19
 20     @Override
 21     protected void onCreate(Bundle savedInstanceState) {
 22         super.onCreate(savedInstanceState);
 23         setContentView(R.layout.activity_main);
 24
 25         findViews();
 26         setListensers();
 27     }
 28     private Button button_calc;
 29     private EditText field_height;
 30     private EditText field_weight;
 31     private TextView view_result;
 32     private TextView view_suggest;
 33     private void findViews()
 34     {
 35         button_calc=(Button)findViewById(R.id.submit);
 36         field_height=(EditText)findViewById(R.id.height);
 37         field_weight=(EditText)findViewById(R.id.weight);
 38         view_result=(TextView)findViewById(R.id.result);
 39         view_suggest=(TextView)findViewById(R.id.suggest);
 40     }
 41     private void setListensers()
 42     {
 43         button_calc.setOnClickListener(calcBMI);
 44     }
 45     private Button.OnClickListener calcBMI=new Button.OnClickListener()
 46     {
 47         public void onClick(View v)
 48         {
 49             DecimalFormat nf=new DecimalFormat("0.00");
 50
 51             double height=Double.parseDouble(field_height.getText().toString())/100;
 52             double weight=Double.parseDouble(field_weight.getText().toString());
 53             double BMI=weight/(height*height);
 54             view_result.setText(getText(R.string.bmi_result)+nf.format(BMI));
 55             //give health advice
 56             if(BMI>25)
 57             {
 58                 view_suggest.setText(R.string.advice_heavy);
 59             }
 60             else if(BMI<20)
 61             {
 62                 view_suggest.setText(R.string.advice_light);
 63                }
 64             else
 65             {
 66                 view_suggest.setText(R.string.advice_average);
 67             }
 68             openOptionsDialog();
 69         }
 70     };
 71     private void openOptionsDialog()
 72     {
 73         new AlertDialog.Builder(MainActivity.this)
 74             .setTitle(R.string.about_title)
 75             .setMessage(R.string.about_msg)
 76             .setPositiveButton(R.string.ok_label,
 77                     new DialogInterface.OnClickListener() {
 78                 public void onClick(
 79                         DialogInterface dialoginterface,int i){
 80                    }
 81
 82                 })
 83             .setNegativeButton(R.string.homepage_label,
 84                     new DialogInterface.OnClickListener() {
 85
 86                         @Override
 87                         public void onClick(DialogInterface dialog, int which) {
 88                             // TODO Auto-generated method stub
 89                             Uri uri=Uri.parse(getString(R.string.homepage_uri));
 90                             Intent intent=new Intent(Intent.ACTION_VIEW,uri);
 91                             startActivity(intent);
 92                         }
 93                     })
 94             .show();
 95     }
 96
 97     @Override
 98     public boolean onCreateOptionsMenu(Menu menu) {
 99         // Inflate the menu; this adds items to the action bar if it is present.
100         getMenuInflater().inflate(R.menu.activity_main, menu);
101         return true;
102     }
103
104 }

3、效果

深入浅出Android:初识Intent(BMI)相关推荐

  1. Android初识-Intent用法进阶篇

    1.activity之间参数传递 第一个activity代码,启动activity并传递参数 Intent ac4 = new Intent(this,SecendActivity.class);ac ...

  2. Android Studio计算BMI小软件

    计算BMI安卓小软件 一.简单安卓入门小项目 开发软件:Android Studio,本软件有两个页面,一个是输入身高和体重页面,另一个是结果界面(注意:这个背景图名字为 bb.png ,图片会放到博 ...

  3. android intent email,Android Email Intent

    问题 I've set up two buttons. One opens the compose sms intent and the other opens the compose email i ...

  4. 深入浅出Android系统启动流程

    转载请标明出处:[顾林海的博客] 本篇文章已授权微信公众号 顾林海 独家发布 init进程启动过程 init进程概述 Android系统基于Linux,init进程是Android系统中用户空间的第一 ...

  5. Android中Intent传递对象的两种方法(Serializable,Parcelable)

    这篇文章转自博客园 Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putPa ...

  6. 3.1 Android组件intent filter

    3.1.0 Intent filter基本概念 前面章节我们说到了Intent,Intent对象中除了ComponentName可以直接指定目标组件外,其它的属性都无法直接指定目标组件.当然我们这里不 ...

  7. 【Android】 Intent应用详解

    转载:http://blog.csdn.net/liuhe688/article/details/7162988 看似尋常最奇崛,成如容易卻艱辛.北宋.王安石 看似普通的事情其实最不同寻常,并不是简简 ...

  8. Android的Intent Action 大全

    为什么80%的码农都做不了架构师?>>>    1.Intent的用法: (1)Action跳转 1. 使用Action跳转,当程序AndroidManifest.xml中某一个 A ...

  9. Android中Intent传递Object和ArrayListObject对象---笔记

    首先看一下Intent的官方的API. 传递一些基本类型数据的方法如下: putExtra(String name, int value) putExtra(String name, String v ...

最新文章

  1. SQL操作的组成部分-数据控制
  2. ft2232驱动安装方法_关于Win10无法安装英伟达驱动的处理方法
  3. Python学习笔记:常用内建模块7XML
  4. 【洛谷 T47488】 D:希望 (点分治)
  5. ALAssetsLibrary-代码操作iOS相册资源
  6. 【蓝桥杯 - 真题】六角幻方(dfs+剪枝)
  7. PyQt5代码触发QTreeWidget的列表中某个item点击信号
  8. php如何控制用户对图片的访问 PHP禁止图片盗链
  9. msp430入门编程46
  10. Kubernetes Metrics-Server
  11. 重庆计算机教师招聘 专业技能测试什么,教师招聘考试面试,专业技能测试考什么?全在这了...
  12. Windows学习总结(11)——Windows批处理命令编写代码及小程序简介
  13. 为什么每个邮件收到后都会有一个htm的附件_Python3.x 发送各种形式的告警邮件内容...
  14. url安全处理函数+php,php常用的url处理函数汇总
  15. Java多线程-while死循环
  16. java复用的具体实现_Java应用架构读书笔记(6):实现复用
  17. Multisim里导入没有的元器件(以NPN型三极管2N9013为例)
  18. 开学数码必买清单推荐,2022年开学季最值得入手的好物
  19. 网络互连(IPV4+NAT技术+ARP+IPV6)
  20. 哪款游戏蓝牙耳机好用?好用的游戏蓝牙耳机推荐

热门文章

  1. multism中ui和uo应该怎么表示_王者荣耀:梦泪直播时谈到体验服大改动,表示装备的改动很关键...
  2. 算法题 如何找到数组中重复的数字
  3. Java基础——虚拟机结构
  4. 如何调整反光镜和座椅的位置 为您支招
  5. 《Mali OpenCL SDK v1.1.0》教程样例之一“Hello World”
  6. 小窍门解决大问题(组图)
  7. MP3技术白皮书-音频格式全解析
  8. 关于编译FFMPEG的初级教程
  9. Linux 的 chmod 命令,对一个目录及其子目录所有文件添加权限
  10. 遍历Map key-value的两种方法、遍历Set方法