Dr.K.Somasundaram Ph.D Professor Department of Computer Science and Applications Gandhigram Rural Institute, Gandhigram, Tamil Nadu-624302, India ka.somasundaram@gmail.com Manifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="soms.bmi" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="15" <application android:icon="@drawable/fatwoman_cartoon" android:label="@string/app_name" > <activity android:name=".bmiactivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.main" <category android:name="android.intent.category.launcher" </intent-filter> </activity> </application> </manifest> ------------------------------------------- Activity.java package soms.bmi; import android.app.activity; import android.app.alertdialog; import android.os.bundle; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; import android.widget.textview; import android.view.view; public class BmiActivity extends Activity implements OnClickListener { Button compute_button; String usrname, sheight, sweight; EditText ename, eweight, eheight; double height, weight, bmi;
// /** Called when the activity is first created. */ @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); compute_button = (Button) findviewbyid(r.id.compute_bmi); compute_button.setonclicklistener(this); public void onclick(view v) { ename = (EditText) findviewbyid(r.id.user_name); usrname = ename.gettext().tostring(); // Generate alert if name field is null if (usrname.length() == 0) { new AlertDialog.Builder(this).setMessage(R.string.error_name_missing).setNeutralButton(R.string.error_ok, null).show(); return; // get the weight eweight = (EditText) findviewbyid(r.id.user_weight); sweight = eweight.gettext().tostring(); // Generate alert if weight field is 0.0 try { weight = Double.parseDouble(sweight); catch (NumberFormatException e) { new AlertDialog.Builder(this).setMessage(R.string.error_weight_missing).setNeutralButton(R.string.error_ok, null).show(); return; // get the height eheight = (EditText) findviewbyid(r.id.user_height); sheight = eheight.gettext().tostring(); // Generate alert if height field is 0.0 try { height = Double.parseDouble(sheight); catch (NumberFormatException e) { new AlertDialog.Builder(this).setMessage(R.string.error_height_missing).setNeutralButton(R.string.error_ok, null).show(); return; // compute BMI bmi = weight / (height * height); int rid = R.string.display_bmi; // Create a string to output bmi String sbmi = getresources().getstring(rid, bmi); sbmi = "Welcome " + usrname + ". " + sbmi; // Create message for different BMI values if (bmi < 18.6) sbmi = sbmi + ". You are Underweight"; else if (bmi < 24.9)
weight"; sbmi = sbmi + ". You are having normal weight.keep it up"; else if (bmi < 30.0) sbmi = sbmi + ". You are over weight. Try to reduce your else sbmi = sbmi + ". You are OBESE. Consult a doctor"; TextView display = (TextView) findviewbyid(r.id.display_result); display.settext(sbmi); String.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="bmi_mesg">test Your Obesity. It is measured using Body Mass Index(BMI)</string> <string name="app_name">obesity</string> <string name="type_your_name">type Your Name</string> <string name="type_your_weight">type your weight in KG</string> <string name="type_your_height">type your height in Metres</string> <string name="text_for_compute_bmi">compute BMI</string> <string name="display_bmi">your BMI is %5.2f</string> <string name="display_name">welcome %s. </string> <string name="error_name_missing">type your name</string> <string name="error_weight_missing">type value for weight</string> <string name="error_height_missing">type value for height</string> <string name="error_ok">ok</string> </resources> Main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:orientation="vertical" > android:text="@string/bmi_mesg" android:text="@string/type_your_name"
<EditText android:id="@+id/user_name" android:text="@string/type_your_weight" <EditText android:id="@+id/user_weight" android:text="@string/type_your_height" <EditText android:id="@+id/user_height" <Button android:id="@+id/compute_bmi" android:layout_width="wrap_content" android:text="@string/text_for_compute_bmi" android:id="@+id/display_result" </LinearLayout> Resources: Drawable
R.java: DO not disturb this Program /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package soms.bmi; public final class R { public static final class attr { public static final class drawable { public static final int fatwoman_cartoon=0x7f020000; public static final class id { public static final int compute_bmi=0x7f050003; public static final int display_result=0x7f050004; public static final int user_height=0x7f050002; public static final int user_name=0x7f050000; public static final int user_weight=0x7f050001; public static final class layout { public static final int main=0x7f030000; public static final class string { public static final int app_name=0x7f040001; public static final int bmi_mesg=0x7f040000; public static final int display_bmi=0x7f040006; public static final int display_name=0x7f040007; public static final int error_height_missing=0x7f04000a; public static final int error_name_missing=0x7f040008; public static final int error_ok=0x7f04000b; public static final int error_weight_missing=0x7f040009; public static final int text_for_compute_bmi=0x7f040005; public static final int type_your_height=0x7f040004;
public static final int type_your_name=0x7f040002; public static final int type_your_weight=0x7f040003;