Android学习小应用案例---根据身高和性别计算标准体重
2013-09-24 20:30
597 查看
今天写了一个简单的小应用,这是本人学习Intent后写的一个例子,根据身高和性别计算标准体重。
首先我们进行布局
activity_main.xml
MainActivity.java
结果页面:
activity_result.xml
ResultActivity.java
Info.java
运行效果展示:
这里的没有什么华丽的界面。本人只是做了一个简单的实例,没有对界面做什么美化,不过如果对界面做一些美化,应该也是一个
可以使用的简单小应用哦。
@author www.lelexie.com
本文出自:http://www.loverseo.com
首先我们进行布局
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:padding="20px" android:text="计算您的标准体重" /> <LinearLayout android:id="@+id/linearLayout1" android:gravity="center_vertical" android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="性别:" /> <RadioGroup android:id="@+id/sex" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:id="@+id/radio0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="男" /> <RadioButton android:id="@+id/radio1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" /> </RadioGroup> </LinearLayout> <LinearLayout android:id="@+id/linearLayout1" android:gravity="center_vertical" android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="身高:" /> <EditText android:id="@+id/stature" android:minWidth="100px" android:layout_width="wrap_content" android:layout_height="wrap_content"> </EditText> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="cm" /> </LinearLayout> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="确定" /> </LinearLayout>
MainActivity.java
package com.example.testweight; import android.R.integer; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast; public class MainActivity extends Activity { private Button btn; private RadioGroup sex; private EditText stature; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn=(Button)findViewById(R.id.btn); stature=(EditText)findViewById(R.id.stature); sex=(RadioGroup)findViewById(R.id.sex); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Info info=new Info(); String height = stature.getText().toString(); if (height.equals("")) { Toast.makeText(MainActivity.this, "请输入您的身高,否则不能计算!", Toast.LENGTH_SHORT).show(); return; } int stature=Integer.parseInt(height); //设置身高 info.setStature(stature); for (int i = 0; i < sex.getChildCount(); i++) { //根据索引值获取单选按钮 RadioButton r= (RadioButton) sex.getChildAt(i); //判断单选按钮是否被选中 if (r.isChecked()) { //获取被选中的单选按钮的值 info.setSex(r.getText().toString()); break; } } Intent intent=new Intent(MainActivity.this,ResultActivity.class); //实例化一个Bundle对象 Bundle bundle=new Bundle(); //将输入的基本信息保存到Bundle对象中 bundle.putSerializable("info", info); //将bundle保存到Intent对象中 intent.putExtras(bundle); //启动intent对应的Activity startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
结果页面:
activity_result.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/sex" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10px" android:text="性别" /> <TextView android:id="@+id/stature" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10px" android:text="身高" /> <TextView android:id="@+id/weight" android:padding="10px" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="标准体重" /> </LinearLayout>
ResultActivity.java
package com.example.testweight; import java.io.Serializable; import java.text.DecimalFormat; import java.text.NumberFormat; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.TextView; public class ResultActivity extends Activity { private TextView sex; private TextView stature; private TextView weight; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); sex=(TextView)findViewById(R.id.sex); stature=(TextView)findViewById(R.id.stature); weight=(TextView)findViewById(R.id.weight); //获取传递的数据包 Bundle bundle=getIntent().getExtras(); Info info = (Info) bundle.getSerializable("info"); sex.setText("您是一位"+info.getSex()+"士"); stature.setText("您的身高是"+info.getStature()+"厘米"); weight.setText("您的标准体重是"+getWeight(info.getSex(),info.getStature())+"公斤"); } /** * 功能:计算标准体重 * @param sex * @param stature * @return */ public String getWeight(String sex,float stature){ String weight=""; NumberFormat nFormat=new DecimalFormat(); if (sex.equals("男")) { weight=nFormat.format((stature-80)*0.7); } if (sex.equals("女")) { weight=nFormat.format((stature-70)*0.6); } return weight; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.result, menu); return true; } }
Info.java
package com.example.testweight; import java.io.Serializable; public class Info implements Serializable { private String sex=""; private int stature=0; public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getStature() { return stature; } public void setStature(int stature) { this.stature = stature; } }
运行效果展示:
这里的没有什么华丽的界面。本人只是做了一个简单的实例,没有对界面做什么美化,不过如果对界面做一些美化,应该也是一个
可以使用的简单小应用哦。
@author www.lelexie.com
本文出自:http://www.loverseo.com
相关文章推荐
- 【Android开发】Bundle和Intent实例1-实现根据身高计算标准体重
- 安卓根据身高计算标准体重,限制输入非数字的代码
- 实例9:实现根据身高计算标准体重
- 根据身高计算标准体重
- Android开发应用实例:计算标准体重的实例(简单版)
- Activity之间的数据传输的示例(实现根据身高计算标准体重)
- C语言函数,根据身高计算体重是否符合标准的实例
- Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性
- C#8—写一个测试标准身高体重的程序、输入日期年月日, 计算这一天是一年中的第几天(考虑闰年)
- Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性
- Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性
- (附代码)根据输入信息构建不同人种类,统一打印不同国家地区的身高、体重信息(泛型数组应用,多态、重载、泛型、反射等概念体验)
- Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性
- Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性
- Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性
- Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性
- Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性
- Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性
- Android(java)学习笔记233: 远程服务的应用场景(移动支付案例)
- Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性