WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章手机编程BlackBerryBlackBerry 应用程序开发者指南 第二卷:高级--第3章 集成PIM功能

BlackBerry 应用程序开发者指南 第二卷:高级--第3章 集成PIM功能
作者:佚名  来源:本站整理  发布时间:2008-3-15 0:34:26

代码实例

下面的实例显示了一个屏幕,它允许用户在日历中创建一个新的,重复的约会.你可以将此例和ContactsDemo.java结合起来允许用户邀请参与者到这个会议中.为获取更多信息,参看31页的”ContactsDemo.java”.


:EventDemo.java

/**

* EventDemo.java

* Copyright (C) 2002-2005 Research In Motion Limited.

*/

package com.rim.samples.docs.eventdemo;

import java.io.*;

import java.util.*;

import javax.microedition.pim.*;

import net.rim.device.api.ui.*;

import net.rim.device.api.ui.component.*;

import net.rim.device.api.ui.container.*;

import net.rim.device.api.i18n.*;

import net.rim.device.api.system.*;

import net.rim.device.api.util.*;

import com.rim.samples.docs.baseapp.*;

 

public final class EventDemo extends BaseApp {

    private EventScreen _eventScreen;

    public static void main(String[] args) {

       new EventDemo().enterEventDispatcher();

       }

   

    private EventDemo() {

       _eventScreen = new EventScreen();

       pushScreen(_eventScreen);

       }

   

    protected void onExit() {

      

    }

   

    public final static class EventScreen extends MainScreen {

       private EditField _subject, _location;

       private SaveMenuItem _saveMenuItem;

       private DateField _startTime, _endTime;

       private ObjectChoiceField _repeat;

       private Event event;

      

       private class SaveMenuItem extends MenuItem {

           public SaveMenuItem() {

              super(null, 0, 100000, 5);

              }

           public String toString() {

              return "Save";

              }

           public void run() {

              onSave();

              }

       }

      

       public EventScreen() {

           _saveMenuItem = new SaveMenuItem();

           setTitle(new LabelField("Event Demo", LabelField.ELLIPSIS |

                  LabelField.USE_ALL_WIDTH) );

           _subject = new EditField("Subject: ", "");

           add(_subject);

           _location = new EditField("Location: ","");

           add(_location);

           _startTime = new DateField("Start: ", System.currentTimeMillis() +

                  3600000, DateField.DATE_TIME);

           _endTime = new DateField("End: ", System.currentTimeMillis() +

                  7200000, DateField.DATE_TIME);

           add(new SeparatorField());

           add(_startTime);

           add(_endTime);

           add(new SeparatorField());

           String[] choices = {"None", "Daily", "Weekly", "Monthly", "Yearly"};

           _repeat = new ObjectChoiceField(“Recurrence: “, choices, 0);

           add(_repeat);

           }

      

       protected boolean onSave() {

           try {

              EventList eventList = (EventList)PIM.getInstance().

              openPIMList(PIM.EVENT_LIST, PIM.WRITE_ONLY);

              event = eventList.createEvent();

              event.addString(Event.SUMMARY, PIMItem.ATTR_NONE,

                     _subject.getText());

              event.addString(Event.LOCATION, PIMItem.ATTR_NONE,

                     _location.getText());

              event.addDate(Event.END, PIMItem.ATTR_NONE, _endTime.getDate());

              event.addDate(Event.START, PIMItem.ATTR_NONE,startTime.getDate());

              if(_repeat.getSelectedIndex() != 0) {

                  event.setRepeat(setRule());

                  }

             

              // Save the appointment to the Calendar.

              event.commit();

              //reset fields on screen

              _subject.setText("");

              _location.setText("");

              _endTime.setDate(null);

              _startTime.setDate(null);

              _repeat.setSelectedIndex(0);

              return true;

              }

           catch (PIMException e) {

               System.err.println(e);

              }

           return false;

           }

      

       private RepeatRule setRule() {

           RepeatRule rule = new RepeatRule();

           int index = _repeat.getSelectedIndex();

           if (index == 0) {

              rule.setInt(RepeatRule.FREQUENCY, RepeatRule.DAILY);

              }

           if (index == 1) {

              rule.setInt(RepeatRule.FREQUENCY, RepeatRule.WEEKLY);

              }

           if (index == 2) {

              rule.setInt(RepeatRule.FREQUENCY, RepeatRule.MONTHLY);

              }

           if (index == 3) {

              rule.setInt(RepeatRule.FREQUENCY, RepeatRule.YEARLY);

              }

           return rule;

           }

      

       protected void makeMenu(Menu menu, int instance) {

           menu.add(_saveMenuItem);

           menu.addSeparator();

           super.makeMenu(menu, instance);

           }

       }

}


Updated History:

 

  • Last Updated:2007年1月24日
  • Last Updated:2006年4月28日

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码