-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 に答える