实例14---不准+弱智的生物钟

  这个例子在java me主要是演示form的使用,在android中,我把他变成了在代码中创建view的联系,下面给出效果图和代码:



整个软件就一个activity

package com.wjh.demon_14;


import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

import android.widget.DatePicker;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.Calendar;


public class Demon_14 extends Activity{
	public static final int COMMAND_DETECTION = 1;
	public static final int COMMAND_RESET = 2;
	public static final int COMMAND_EXIT = 3;
	
	private DatePicker datefield;                 //用于输入出生日期
	private TextView stringitem;
	private TextView stringitem1;              //用于显示测试结果
	private TextView stringitem2;              //用于显示测试结果
	private TextView stringitem3;              //用于显示测试结果
	
	
	
		
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		//创建对话框及组件,并将组件添加到对话框
		this.setTitle("生物钟");
		
		datefield = new DatePicker(this);
		
		stringitem = new TextView(this);
		stringitem1 = new TextView(this);
		stringitem2 = new TextView(this);
		stringitem3 = new TextView(this);
		

		
		
		
		stringitem.setText("输入出生日期");
		stringitem1.setText("体力:无检测结果");
		stringitem2.setText("情绪:无检测结果");
		stringitem3.setText("智力:无检测结果");
		
		LinearLayout ll = new LinearLayout(this);
		ll.addView(stringitem);
		ll.addView(datefield);
		ll.addView(stringitem1);
		ll.addView(stringitem2);
		ll.addView(stringitem3);
		
		
		ll.setOrientation(LinearLayout.VERTICAL);
		
		setContentView(ll);
	}


	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// TODO Auto-generated method stub
		menu.add(0, COMMAND_DETECTION,0,"检测");
		menu.add(0, COMMAND_RESET, 0, "重置");
		menu.add(0, COMMAND_EXIT, 0, "退出");
		return super.onCreateOptionsMenu(menu);
	}


	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// TODO Auto-generated method stub
		if(item.getItemId() == COMMAND_DETECTION){			//当检测按钮被按下后
			//计算总天数
			Calendar c = Calendar.getInstance();
			c.set(datefield.getYear(), datefield.getMonth(), datefield.getDayOfMonth());
			
			long temp = System.currentTimeMillis() - c.getTimeInMillis();
			long X = temp / ( 24 * 60 * 60 * 1000 );
			//计算节律
			long Y1 = X % 23;
			long Y2 = X % 28;
			long Y3 = X % 33;
			//计算节律阶段,并反馈信息
			if( Y1 == 0 || Y1 == 1 || Y1 == 11 || Y1 == 12 )
				stringitem1.setText("体力:"+"处于临界期,易患疾病");
			else if( Y1 < 12 )
				stringitem1.setText("体力:"+"处于高潮期,体力充沛精力旺");
			else
				stringitem1.setText("体力:"+"处于低潮期,体力不足易疲劳");
			
			if( Y2 == 0 || Y2 == 1 || Y2 == 23 || Y2 == 24 || Y2 == 25 )
				stringitem2.setText("情绪:"+"处于临界期,容易冲动");
			else if( Y2 < 24 )
				stringitem2.setText("情绪:"+"处于高潮期,情绪高精神爽");
			else
				stringitem2.setText("情绪:"+"处于低潮期,情绪低心情烦");
			
			if( Y3 == 0 || Y3 == 1 || Y3 == 16 || Y3 == 17 )
				stringitem3.setText("智力:"+"处于临界期,易出差错");
			else if( Y3 < 17 )
				stringitem3.setText("智力:"+"处于高潮期,思维敏捷反应快");
			else
				stringitem3.setText("智力:"+"处于低潮期,反应迟钝记忆差");
		}
		if(item.getItemId() == COMMAND_EXIT){			//当退出按钮按下后,退出程序
			this.finish();
		}
		if(item.getItemId() == COMMAND_RESET){			//当重置按钮按下后,重置显示信息
			stringitem1.setText("无检测结果");
			stringitem2.setText("无检测结果");
			stringitem3.setText("无检测结果");
		}
		return super.onOptionsItemSelected(item);
	}
}

 apk文件(将后缀改为apk):Demon_14.zip

源代码:Demon_14.rar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值