读书人

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

发布时间: 2012-07-30 16:19:05 作者: rapoo

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

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


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


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

整个软件就一个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;              //用于显示测试结果@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubmenu.add(0, COMMAND_DETECTION,0,"检测");menu.add(0, COMMAND_RESET, 0, "重置");menu.add(0, COMMAND_EXIT, 0, "退出");return super.onCreateOptionsMenu(menu);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stubif(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("体力:"+"处于高潮期,体力充沛精力旺");elsestringitem1.setText("体力:"+"处于低潮期,体力不足易疲劳");if( Y2 == 0 || Y2 == 1 || Y2 == 23 || Y2 == 24 || Y2 == 25 )stringitem2.setText("情绪:"+"处于临界期,容易冲动");else if( Y2 < 24 )stringitem2.setText("情绪:"+"处于高潮期,情绪高精神爽");elsestringitem2.setText("情绪:"+"处于低潮期,情绪低心情烦");if( Y3 == 0 || Y3 == 1 || Y3 == 16 || Y3 == 17 )stringitem3.setText("智力:"+"处于临界期,易出差错");else if( Y3 < 17 )stringitem3.setText("智力:"+"处于高潮期,思维敏捷反应快");elsestringitem3.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

读书人网 >移动开发

热点推荐