-1

我正在设计一个 j2me 应用程序原型,它需要读取用户的电话日历以检索用户的日程安排信息。我使用 JSR 75 PIM API。我实际上可以读取日期值,但是在将值发送到数据库时,它只保存第一个日期。我似乎无法弄清楚背后的真正问题。请帮忙....

我将 J2me 用于客户端,PHP 用于服务器,MYSQL 用于数据库。

我尝试采用来自 sun 无线工具包及其 ItemSelectionScreen 类的 PIM 示例代码。我尝试像这样修改代码

String getDisplayedField(PIMItem item) throws PIMException {
        int fieldCode = Event.REVISION;
       if (item.countValues(fieldCode)!= 0) {
             long b = item.getDate(fieldCode, 0);   
             cal = Calendar.getInstance();
             cal.setTimeZone(TimeZone.getTimeZone("GMT"));
             cal.set(Calendar.HOUR,12);
             cal.set(Calendar.MINUTE, 0);
             cal.set(Calendar.AM_PM, Calendar.AM);
             Date d = new Date(b);
             cal.setTime(d);
             Date t= new Date(cal.getTime().getTime());
             a=t.toString().substring(0,10);
             c=t.toString().substring(23,28);
             f=t.toString().substring(10,19);
             //fieldValue1=a.concat(c);
             fieldValue=a.concat(c).concat(f);
             System.out.println(fieldValue); 
            //fieldValue=d.toString(); 
            //fieldValue=d.toString().substring(0, 9); 
                }
       return fieldValue;
            }

我的想法是,因为“fieldValue”是一个字符串,在获得值后我可以在服务器端拆分并仅获取所需的信息,但这里不是这种情况。所以,我的问题是如何将每个日期值分别发送到服务器并将其存储在数据库中?

4

1 回答 1

0

我不确定您的代码片段应该做什么。我看不到它实际上从日历中获取任何内容的任何地方。

如果要从日历中获取所有事件,请执行以下操作:

private EventList events;

try {
  events = (EventList) PIM.getInstance().openPIMList(PIM.EVENT_LIST, PIM.READ_ONLY);
} catch (PIMException e) {
  System.out.println("Can't open EventList");
  return;
}

现在您已经打开了日历,并准备好将所有事件提取到events变量中,并循环遍历它们。

Enumeration all;
Event event;
try {
  all = events.items(); // Puts all events into this variable
  while (all != null && all.hasMoreElements()) { // Loop through them
    event = (Event) all.nextElement();
    System.out.println("Event found: " + event.getString(Event.SUMMARY, 0));
    // Add code here, to send this event to PHP
    // You'll need to serialize the event
    // For example:
    // myHTTPConnention.call("http://www.example.com/receiveEvent.php?summary=" + event.getString(Event.SUMMARY, 0) + "&start=" + event.getString(Event.START, 0));
  }
} catch (Exception e) {
  System.out.println("Error while looping through events");
}

只是要清楚:这myHTTPConnection是伪代码。您需要添加自己的代码,将数据发送到您的站点。

于 2014-12-13T07:17:04.760 回答