Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2206433
  • 博文数量: 436
  • 博客积分: 9833
  • 博客等级: 中将
  • 技术积分: 5558
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-29 10:27
文章存档

2013年(47)

2012年(79)

2011年(192)

2010年(118)

分类:

2010-10-21 23:15:58

网络工程第三阶段——210.15-10.21

3. BMI深入(此部分内容由陈艳艳完成)

3.1描述

该示例的功能是:输入身高和体重,点击计算BMI值,系统将给出BMI值和相关建议

3.2Bmi.java源程序:

package com.demo.android.bmi;

 

 import java.text.DecimalFormat;

 

 import android.app.Activity;

 import android.os.Bundle;

 import android.view.View;

 import android.view.View.OnClickListener;

 import android.widget.Button;

 import android.widget.EditText;

 import android.widget.TextView;

 

 public class Bmi extends Activity {

 

 public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

 setContentView(R.layout.main);

 

 //按钮监听者

 Button button = (Button)findViewById(R.id.submit);//强制将取得的资源型别设成"button"型别

 button.setOnClickListener(calcBMI);

 }

 

 private OnClickListener calcBMI = new OnClickListener()

 {

 public void onClick(View v)

 {

 DecimalFormat nf = new DecimalFormat("0.00");

 EditText fieldheight = (EditText)findViewById(R.id.height);

 EditText fieldweight = (EditText)findViewById(R.id.weight);

                                    //透过findViewById 方法,从资源档中取得对应的文字栏位元件

 double height = Double.parseDouble(fieldheight.getText().toString())/100;

 double weight = Double.parseDouble(fieldweight.getText().toString());

 double BMI = weight / (height * height);//计算BMI

 

 TextView result = (TextView)findViewById(R.id.result);//将结果显示到屏幕上

 result.setText("Your BMI is "+nf.format(BMI));

 

 //给出建议

TextView fieldsuggest = (TextView)findViewById(R.id.suggest);

 if(BMI>25){

 fieldsuggest.setText(R.string.advice_heavy);

 }else if(BMI<20){

 fieldsuggest.setText(R.string.advice_light);

 }else{

 fieldsuggest.setText(R.string.advice_average);

 }

 }

 };

 }

 

Main.xml源程序:

xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns: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/height"

/>

<EditText android:id="@+id/height"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:numeric="integer"          仅允许输入整数数字

android:text=""      指定EditText 界面元件预设显示的文字(数字)

/>                      编辑文字

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/weight"

/>

<EditText android:id="@+id/weight"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:numeric="integer"

android:text=""

/>

<Button android:id="@+id/submit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/bmi_btn"

/>

<TextView android:id="@+id/result"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text=""

/>

<TextView android:id="@+id/suggest"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text=""

/>

LinearLayout>

 

Strings.xml源程序:

xml version="1.0" encoding="utf-8"?>

<resources>

<string name="app_name">BMIstring>

<string name="height">身高(cm)string>

<string name="weight">体重(kg)string>

<string name="bmi_btn">计算BMI string>

<string name="bmi_result">你的BMI 值是string>

resources>

 

values下创建advice文件,气源程序为 :

xml version="1.0" encoding="utf-8"?>

<resources>

<string name="advice_light">你该多吃点string>

<string name="advice_average">体型很棒喔string>

<string name="advice_heavy">你该节食了string>

resources>

 

3.3功能的效果

 

4实现多个activity的用户界面设计(此部分内容由陈艳玲完成)

41功能描述

实现多个activity的用户界面设计,两个跳转的activity的页面

项目名称:layout

应用名称:layout

包名:com.eoeandroid.layout

 

4.2程序

(1)新建一个主activity

名称:ActivityMain.java

 

package com.eoeandroid.layout;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class ActivityMain extends Activity {

Button button0;

//配置的监听程序

OnClickListener listener0= new OnClickListener() {

      public void onClick(View v){

//通过Intent这个类能够使我们从本页面跳转到ActivityRelativeLayout这个类里面

      Intent intent1 =new Intent(ActivityMain.this,ActivityRelativeLayout.class);

      startActivity(intent1);

      }

       };

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        button0 = (Button) findViewById(R.id.button0);

         //butonO按钮注册监听程序

        button0.setOnClickListener(listener0);

    }

}

(2) 新建一个跳转到的activity

ActivityRelativeLayout.java

 

package com.eoeandroid.layout;

import android.app.Activity;

import android.os.Bundle;

public class ActivityRelativeLayout extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState); 

 

//通过这个方法显示:relative_layout.xml配置的界面

  setContentView(R.layout.relative_layout);

}

}

上面的类已经建完成了,下面就需要构建UI层,android的界面一般通常情况下界面都是通过xml的配置显示效果界面出来,当然也可以用java代码编写出来。

3)配置主屏幕显示的界面也就是ActivityMain.java的界面(ActivityMain.java只是将按钮注册了一个监听但没有显示):

ActivityMain默认的main.xml中配置:

 

android:orientation="vertical" android:layout_width="fill_parent"

android:layout_height="fill_parent">

阅读(958) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~