您的位置:首页 > 移动开发 > Android开发

Android学习小应用案例---根据身高和性别计算标准体重

2013-09-24 20:30 597 查看
今天写了一个简单的小应用,这是本人学习Intent后写的一个例子,根据身高和性别计算标准体重。

首先我们进行布局

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐