0

次のような要素の配列を返すWebサービスを作成しました。

<Service>
    <id>string</id>
    <description>string</description>
    <last_change_date>dateTime</last_change_date>
</Service>

このWebサービスをAndroidデバイスから使用しており、Ksoap2パッケージを使用しています。メソッドを使用してWebサービスからSoapObjectを受け取った場合:

SoapObject response = (SoapObject)envelope.getResponse();

私は通常、次のコードを使用して応答の内容を取得します。

String str = (String)response.getProperty(index).toString();

そして、これは通常はうまくいきます!
ただし、last_change_date(SQL ServerのデータベースのdatetimeフィールドからdateTimeが取得するタイプ)を取得するために、同じメソッドを使用することはできません。

そのため、AndroidでdateTimeを任意の日付形式(日付またはカレンダー)に変換するメカニズムを探しています。

4

1 に答える 1

0

はい、そのメソッドでパラメータの値を取得できます。次に行う必要があるのは、文字列を解析してDateオブジェクトにすることです。

たとえば、次のようにフォーマットを定義します。

private static final SimpleDateFormat httpHeaderDateFormatter =
    new SimpleDateFormat("EEE, dd MMM yyyy hh:mm:ss z", Locale.US);

そして、次のような解析メソッドを実装します。

private Date parseLastModified(String lastModified) {
    Date date = null;
    if (lastModified != null && lastModified.length() > 0) {
        try {
            date = httpHeaderDateFormatter.parse(lastModified);
        } catch (ParseException e) {
            // otherwise we just leave it empty
        }
    }
    return date;
}

もちろん、サーバーから取得する形式や、値がない場合など、必要なロジックに合わせて調整する必要があります。

于 2012-08-24T15:50:54.427 に答える