体重计android代码,Android 标注体重测量仪源码

首先我们利用网友用JAVA编写的基于android的可视化GUI布局拖拉工具程序 --DroidDraw。布局以下界面:

d9c88728d72bc0ac4068ae3190763d4c.png

此页面位于res/layout/main.xml。

制作接收值页面,页面如下:

202e4683fc54f5103f97486bafb6e905.png

此页面位于res/layout/mainlayout.xml,到此为止准备工作全部做好了,接下来正式进入 我们的代码实现功能。。

主页面代码位于src/cn.terry/BundleObject.java

代码如下:

import android.app.Activity;

import android.app.AlertDialog;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.*;

import android.content.DialogInterface;

import android.content.Intent;

import android.graphics.Color;

public class BundleObject extends Activity {

private Button mButton;

private EditText mEditText;

private RadioGroup mRadioGroup;

private double height;

private String Sex;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mButton=(Button)findViewById(R.id.confirm);

mButton.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

mEditText=(EditText)findViewById(R.id.heigt);

if(mEditText.getText().toString().length()==0)

{

/* AlertDialog builder = new AlertDialog.Builder(BundleObject.this).create();

builder.setTitle("提示");

builder.setMessage("請輸入您的身高!!");

builder.show();*/

new AlertDialog.Builder(BundleObject.this)

.setMessage("请輸入您的身高")

.setTitle("提示")

.setNeutralButton("确定",new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

mEditText.setHighlightColor(Color.RED);

}

}).create()

.show();

return;

}

mRadioGroup=(RadioGroup)findViewById(R.id.sex);

height=Double.parseDouble(mEditText.getText().toString());

if(mRadioGroup.getCheckedRadioButtonId()==R.id.M)

{

Sex="M";

}

else

{

Sex="F";

}

Intent intent=new Intent();

intent.setClass(BundleObject.this, Next.class);

Bundle bun=new Bundle();

bun.putDouble("Height", height);

bun.putString("Sex", Sex);

intent.putExtras(bun);

startActivity(intent);

BundleObject.this.finish();

}

});

}

}   在此有一点想让大家注意的是:弹出对话框的时候AlertDialog.Builder()这个方法在1.5以上都要加上类名.this 比如 我的页面的名字叫BundleObject.java就必须如下写下   AlertDialog.Builder(BundleObject.this)   1.5以下的版本直接this即可。。   到此为止己经完成了一半的功能了,那么在Acitivity2(Next.java)要如何接收来自Activity1(BundleObject.java)传递过来的数据呢?试想,在Activity1是以   Bundle封装对象,自然在Activity2亦是以Bundle的方式来解开封装的数据咯;程序中以   Bundle bun=this.getIntent().getExtras();   这样的方法来取得Bundle对象传递过来的性别与身高,经过计算之后,显示在屏幕上。   废话到此为止,第二个页面的处理程序如下:

import java.text.DecimalFormat;

import java.text.NumberFormat;

import android.content.Intent;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.*;

public class Next extends Activity {

private TextView mTextView01;

private TextView mTextView02;

private Button mButton1;

private String Sex;

private double Height;

private String SextText;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.mainlayout);

Bundle bun=this.getIntent().getExtras();

Sex=bun.getString("Sex");

Height=bun.getDouble("Height");

if(Sex.equals("M"))

{

SextText="男性";

}

else

{

SextText="女性";

}

//取得標準體重

String Weight=getWeight(Sex, Height);

mTextView01=(TextView)findViewById(R.id.TextView01);

mTextView02=(TextView)findViewById(R.id.TextView02);

String result = "您是一位" + SextText +

"您的身高为:" + Height + "cm";

String result2= "您的标准体重为:" + Weight +"千克";

mTextView01.setText(result);

mTextView02.setText(result2);

mButton1=(Button)findViewById(R.id.Button03);

mButton1.setOnClickListener(new OnClickListener() {

@Override

public void onClick // TODO Auto-generated method stub

Intent intent=new Intent();

intent.setClass(Next.this, BundleObject.class);

startActivity(intent);

Next.this.finish();

}

});

}

//四舍五入的方法

private String format(double num)

{

NumberFormat formatter=new DecimalFormat("0.00");

String s=formatter.format(num);

return s;

}

//取得體重

public String getWeight(String Sex,double height)

{

String Weight="";

if(Sex.equals("M"))

{

Weight=format((height-80)*0.7);

}

else

{

Weight=format((height-70)*0.6);

}

return Weight;

}

}   有一点需要大家注意的是,如果要在新建的项目多新建一个处理类那必需在配置文件为他显示声明,程序才会运行通过,这里配置文件java的命名方式如下:   AndroidManifest.xml 相当于asp.net 的web.config   为了代码的完整性,我顺便把配置文件也贴出来,高手可以直接跳过

package="cn.terry"

android:versionCode="1"

android:versionName="1.0">

android:label="@string/app_name">

b44c98a82310d2c3139ea693adffe4ce.png

点此处下载源码

转载:http://www.adobex.com/android/source/details/00000144.htm

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值