Android学习笔记(二) 之 参考网易做的健康计算器

首先创建一个Android Project

在Build target时候我选择的是Android2.2

然后进入res/values目录下,创建strings.xml

内容如下:

<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">关爱健康:密切关注您无形的财富</string> <string name="app_name">健康计算器</string> <string name="bodyHeightString">身高:</string> <string name="bodyHeightUnitString">厘米</string> <string name="weightString">体重:</string> <string name="weightUnitString">公斤</string> <string name="sexString">性别:</string> <string name="computeButtonText">计算</string> <string name="clearButtonText">清零</string> </resources>

然后创建parameters.xml

<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="fontSize">22px</dimen> <dimen name="TextViewWidth">70px</dimen> <dimen name="EditTextWidth">120px</dimen> <dimen name="UnitViewWidth">60px</dimen> </resources>

然后再进入layout目录下修改main.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="@dimen/TextViewWidth" android:layout_height="wrap_content" android:textSize="@dimen/fontSize" android:text="@string/sexString" android:id="@+id/sex" /> <RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/sex" android:checkedButton="@+id/radioMan" android:orientation="horizontal" android:id="@+id/sexMenu" > <RadioButton android:text="男" android:id="@id/radioMan" /> <RadioButton android:text="女" android:id="@+id/radioWoman" /> </RadioGroup> <!-- 身高 --> </RelativeLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="@dimen/TextViewWidth" android:layout_height="wrap_content" android:textSize="@dimen/fontSize" android:text="@string/bodyHeightString" android:id="@+id/bodyHeight" /> <EditText android:layout_width="@dimen/EditTextWidth" android:layout_height="wrap_content" android:layout_toRightOf="@id/bodyHeight" android:layout_alignTop="@id/bodyHeight" android:id="@+id/bodyHeightValue" /> <TextView android:layout_width="@dimen/UnitViewWidth" android:layout_height="wrap_content" android:layout_toRightOf="@id/bodyHeightValue" android:layout_alignTop="@id/bodyHeightValue" android:textSize="@dimen/fontSize" android:text="@string/bodyHeightUnitString" android:id="@+id/bodyHeightUnit" /> </RelativeLayout> <!-- 体重 --> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="@dimen/TextViewWidth" android:layout_height="wrap_content" android:textSize="@dimen/fontSize" android:text="@string/weightString" android:id="@+id/weight" /> <EditText android:layout_width="@dimen/EditTextWidth" android:layout_height="wrap_content" android:layout_toRightOf="@id/weight" android:layout_alignTop="@id/weight" android:id="@+id/weightValue" /> <TextView android:layout_width="@dimen/UnitViewWidth" android:layout_height="wrap_content" android:layout_toRightOf="@id/weightValue" android:layout_alignTop="@id/weightValue" android:textSize="@dimen/fontSize" android:text="@string/weightUnitString" android:id="@+id/weightUnit" /> </RelativeLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:layout_width="@dimen/TextViewWidth" android:layout_height="wrap_content" android:text="@string/computeButtonText" android:id="@+id/computeButton" /> <Button android:layout_width="@dimen/TextViewWidth" android:layout_height="wrap_content" android:layout_toRightOf="@id/computeButton" android:layout_alignTop="@id/computeButton" android:text="@string/clearButtonText" android:id="@+id/clearButton" /> </RelativeLayout> </LinearLayout>

这里需要注意的一个地方

Android @id和@+id区别?

@id表示引用已经有的id,而@+id表示增加一个id.

然后写Java文件代码如下:

package com.cayden.healthy; import com.cayden.healthy.R.id; import android.app.Activity; import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioGroup; public class HealthActity extends Activity { /** Called when the activity is first created. */ private EditText bodyHeight,weight; private Button computeButton,clearButton; private RadioGroup sexRadioGroup; private static final String large="你已经有些发福了,要多运动哦"; private static final String middle="你的体重很标准,继续保持哦"; private static final String small="有些偏瘦了,要多注意营养啊!"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); bodyHeight=(EditText)findViewById(R.id.bodyHeightValue); weight=(EditText)findViewById(R.id.weightValue); computeButton=(Button)findViewById(R.id.computeButton); clearButton=(Button)findViewById(R.id.clearButton); clearButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub } }); computeButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub double weightDouble=Double.parseDouble((weight.getText().toString())); double bodyHeightDouble=Double.parseDouble(bodyHeight.getText().toString())/100; double healthValue=weightDouble/(bodyHeightDouble*bodyHeightDouble) ; String message=""; if(20<=healthValue&&healthValue<=23){ message=middle; }else if(healthValue<20){ message=small; }else{ message=large; } new AlertDialog.Builder(HealthActity.this) .setTitle("计算结果") .setMessage("健康值: "+(int)healthValue+"(最佳值在20~23之间)"+"/n" +"说 明: "+message) .setCancelable(false) .setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { HealthActity.this.finish(); } }) .setNegativeButton("继续", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }).show(); } }); } }

最后运行效果如图:

到此就结束了。

这篇文章很基础。包含了一些基本知识的应用和UI布局的控制。也是我刚接触Android写的一个小Demo,我会在以后的日子里来研究Android。希望在2011年在此方面有所发展。因为比较简单也就不发布源码了,如果需要可以把邮箱留下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值