`

Activity

 
阅读更多
res/layout
<?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/height"
	/>
<EditText android:id="@+id/height"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:numeric="integer"
    android:text=""
	/>
<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="fill_parent"
    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>



res/values/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">哈罗, Bmi!</string>
    <string name="app_name">BMI_App</string>
    <string name="height">身高(cm)</string>
    <string name="weight">体重(Kg)</string>
    <string name="bmi_btn">计算BMI</string>
    <string name="bmi_result">BMI_App</string>
     <string name="about_title">关于Android BMI</string>
    <string name="about_msg">Android BMI Calc\n
作者xxx\n\n
gasolin+android [at] gmail.com</string>
    <string name="ok">确认</string>
</resources>




src
package com.demo.bmi;

import java.text.DecimalFormat;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
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;
import android.widget.Toast;

public class Bmi extends Activity {
	private Button button;
	private EditText fieldHeight;
	private EditText fieldWeight;
	private TextView result;
	private TextView suggest;
	
	   //new一个监听
//  private OnClickListener clickListener = new OnClickListener()
	private Button.OnClickListener clickListener  = new Button.OnClickListener(){
		@Override
		public void onClick(View v) {			
			try {
				double height = Double.parseDouble(fieldHeight.getText().toString())/100;
				double weight = Double.parseDouble(fieldWeight.getText().toString());
				double bmi = weight/(height*height);
				
				DecimalFormat df = new DecimalFormat("0.00");
				
				result.setText("你的BMI是" + df.format(bmi));
				
				if(bmi>25){
					suggest.setText(R.string.advice_heavy);
				}else if(bmi<20){
					suggest.setText(R.string.advice_light);
				}else{
					suggest.setText(R.string.advice_avg);
				}
			} catch (NumberFormatException e) {
				Toast.makeText(Bmi.this, "请输入数字", Toast.LENGTH_SHORT).show();
				e.printStackTrace();
			}	
			//执行对话
			openOptionsDialog();
		}  	
  };
	
	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        fineView();
        setLintener();
    }
    
	
	//初始化定位控件
	private void fineView(){
		 button = (Button) findViewById(R.id.submit);
		 fieldHeight = (EditText) findViewById(R.id.height);
		 fieldWeight = (EditText) findViewById(R.id.weight);
		 result = (TextView) findViewById(R.id.result);
		 suggest = (TextView) findViewById(R.id.suggest);
	}
	
	//设置监听
	private void setLintener(){
		button.setOnClickListener(clickListener);
	}	
	
	//执行对话
	private void openOptionsDialog(){
		/*
		new AlertDialog.Builder(Bmi.this)
			.setTitle(R.string.about_title)
			.setMessage(R.string.about_msg)
			.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener(){
            	 public void onClick(
                 	DialogInterface dialoginterface, int i){
                 }
        })
			.show();
		*/
		
		Toast.makeText(Bmi.this, "BMI 计算器", Toast.LENGTH_SHORT).show();
	}
    
 
    
    
    
}
分享到:
评论

相关推荐

    重建Activity-Recreating an Activity

    在Android开发中,Activity是应用组件的一种,它提供了一个屏幕,用户可以在其中进行交互。Activity的生命周期是管理Activity状态的一系列方法,确保在不同情况下能正确地保存和恢复用户的进度。在Activity生命周期...

    Android父Activity获取子Activity返回信息demo

    在Android应用开发中,Activity是构成应用程序的基本组件,它代表用户界面的一个屏幕。有时,我们需要在子Activity执行某些操作后将结果返回给父Activity。这个过程通常涉及到Intent的使用,Intent不仅用于启动新的...

    Android 中从activity1跳转到activity2再回到activity所经历的生命周期

    本文将详细解析从一个Activity(Activity1)跳转到另一个Activity(Activity2),然后再返回到原Activity(Activity1)时,这两个Activity分别会经历哪些生命周期方法。 #### Activity1的生命周期变化 1. **...

    Android利用Intent启动和关闭Activity

    【Android Intent 启动和关闭Activity】 在Android应用程序开发中,Intent是连接各个组件(如Activity、Service等)的关键桥梁,主要用于启动和关闭Activity。Intent不仅能够启动一个新的Activity,还能在Activity...

    在一个Activity中更新操作另一个Activity的内容

    在Android应用开发中,Activity是用户界面的基本单元,通常用于展示特定的功能或信息。当我们需要在一个Activity中更新另一个Activity的内容时,直接操作是不允许的,因为Android系统的设计原则是Activity之间应该是...

    Android使用Activity用作弹出式对话框

    在Android开发中,有时我们需要创建一个弹出式对话框来与用户进行交互,但不同于常见的`Dialog`类,我们可以利用`Activity`来实现这一功能。这种方式适用于需要更复杂交互或者自定义布局的情况。本文将详细讲解如何...

    从application启动activity

    在Android应用开发中,"从application启动activity"是常见的操作,涉及到Android系统的基本架构和生命周期管理。Application类是每个Android应用程序的基类,它在应用程序的生命周期中扮演着核心角色,而Activity是...

    Activity生命周期完美呈现

    Activity是Android应用开发中的核心组件,它代表了用户与应用交互的界面。了解并掌握Activity的生命周期对于Android开发者至关重要,因为它决定了应用的行为和性能。在本文中,我们将深入探讨Activity的生命周期,...

    activity与activity利用接口相互传递数据

    在Android开发中,Activity是应用程序的基本组件,用于展示用户界面并处理用户交互。当我们需要在两个Activity之间传递数据时,通常有多种方法,如Intent、Bundle、静态变量、文件、数据库等。本教程将聚焦于一种...

    activity3activity3activity3activity3activity3activity3activity3a

    标题中的"activity3activity3activity3activity3activity3activity3activity3a"看起来可能是由于重复输入造成的错误,我们可以简化为"activity3",这通常在编程或软件开发中可能代表一个特定的操作、事件或者组件。...

    Activity 的生命周期 以及 横屏竖屏切换时 Activity 的状态变化

    ### Activity的生命周期与横竖屏切换时的状态变化 在Android应用开发中,`Activity`作为四大组件之一,是用户交互的主要界面。理解`Activity`的生命周期对于开发流畅且高效的用户体验至关重要。本文将深入探讨`...

    activity5.22中文版api+表

    Activity在IT领域,尤其是Android开发中,扮演着至关重要的角色。它是Android应用程序设计的核心组件之一,代表了用户界面的一个屏幕或者一个操作流程。这个压缩包文件"activity5.22中文版api+表"显然是针对Android...

    Current Activity_v1.5.2-play.rar

    《当前Activity_v1.5.2-play.rar》是一款专为Android开发者设计的小型实用工具,其核心功能是显示设备上当前运行的Activity的包名和类名。在Android开发过程中,了解并掌握Activity的运作机制至关重要,这款应用可以...

    背景半透明效果的Activity

    在Android开发中,实现“背景半透明效果的Activity”是一种常见的需求,它可以为用户界面增添一层优雅而现代的视觉体验。这种效果通常是通过调整Activity的窗口属性和使用自定义主题来实现的。以下将详细解释如何...

    Android 销毁当前的Activity

    Android 销毁当前的Activity Android 系统中,Activity 是一个非常重要的组件,它负责处理用户交互、显示界面和执行业务逻辑。然而,在屏幕方向改变时,Activity 默认会被销毁,然后重启一个新的实例。这种机制可以...

    activity7.0集成达梦8数据库

    当我们谈到"activity7.0集成达梦8数据库"时,这涉及到的是将Activity7.0与达梦8数据库进行整合,以实现更高效的数据存储和处理能力。 集成过程通常包括以下几个关键步骤: 1. **环境准备**:首先,确保系统已经...

    Activity5全面使用手册.zip

    Activity5全面使用手册.zip是一个关于Activity5开发的综合资源包,包含了用户全面学习和使用Activity5所需的各种材料。Activity5可能是一个软件框架、一个开发工具或者是某个应用平台的一部分,其核心在于提供了一种...

    Fragment与Activity之间通信实例

    在Android应用开发中,Fragment和Activity是两个核心组件,它们共同构建了用户界面。Fragment代表一个可重用的UI部分,而Activity则是程序中的一个窗口,它可以包含一个或多个Fragment。Fragment与Activity之间的...

    Android面试题-Activity A跳转Activity B,再按返回键,生命周期执行的顺序?

    Activity A跳转Activity B,再按返回键,A、B的生命周期执行顺序是什么? 当听到这个题目的时候,我得意地笑了笑,对于Activity的生命周期已经记熟的我,心想,为什么不直接问Activity的生命周期呢?于是想当然的说...

    Activity传递数据到另一个Activity并显示

    在安卓应用开发中,`Activity`是构成应用程序的基本单元,它们之间经常需要进行数据的传递。本教程将详细讲解如何在`Activity`之间传递数据,包括使用`Intent`和`Bundle`来实现实现简单功能,这对于初学者来说非常...

Global site tag (gtag.js) - Google Analytics