Android принудительно закрывается с помощью JodaTime

Кто-нибудь использовал jodatime с Android? Я приближаюсь к силе без следа.

package test.journal.help;

import java.util.Date;

import org.joda.time.DateTime;
import org.joda.time.Days;

import android.app.Activity;
import android.os.Bundle;
public class journaltester extends Activity {
    /** Called when the activity is first created. */

    private Date today = new Date();

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
      Days days = Days.daysBetween(new DateTime(today), new DateTime(today));
        setContentView(R.layout.main);

    }
}

Значение сегодняшнего дня: «Сб, 07 августа, 00:00:00 Америка/Нью-Йорк 2010».

хорошо, есть некоторый прогресс... получение ошибки переполнения стека в org.joda.time.DateTimeZone.getDefault() в соответствии с kiwidoc, это вызвано, если зона равна нулю.

 public static DateTimeZone getDefault() {
    DateTimeZone zone = cDefault;
    if (zone == null) {
        synchronized(DateTimeZone.class) {
            zone = cDefault;
            if (zone == null) {
                DateTimeZone temp = null;
                try {
                    try {
                        temp = forID(System.getProperty("user.timezone"));
                    } catch (RuntimeException ex) {
                        // ignored
                    }
                    if (temp == null) {
                        temp = forTimeZone(TimeZone.getDefault());
                    }
                } catch (IllegalArgumentException ex) {
                    // ignored
                }
                if (temp == null) {
                    temp = UTC;
                }
                cDefault = zone = temp;
            }
        } //LINE 147
    }
    return zone;
}

Вот стек:

Thread [<3> main] (Suspended (exception StackOverflowError))    
DateTimeZone.getDefault() line: 147 
ISOChronology.getInstance() line: 86    
DateTimeUtils.getChronology(Chronology) line: 231   
DateConverter(AbstractConverter).getChronology(Object, Chronology) line: 82 
DateTime(BaseDateTime).<init>(Object, Chronology) line: 170 
DateTime.<init>(Object) line: 168   
PlantsCursorAdapter.newView(Context, Cursor, ViewGroup) line: 71    
PlantsCursorAdapter(CursorAdapter).getView(int, View, ViewGroup) line: 182  

person Brian    schedule 07.08.2010    source источник
comment
Logcat ничего не говорит вам, когда происходит принудительное закрытие?   -  person Cheryl Simon    schedule 07.08.2010


Ответы (1)


Это происходит из-за того, что системное свойство user.timezone равно null. См. http://sourceforge.net/tracker/?func=detail&aid=3056104&group_id=97367&atid=617889

person JodaStephen    schedule 07.09.2010
comment
Похоже, эта проблема была исправлена. @ Брайан, у тебя все еще есть эта проблема? - person Christopher Perry; 19.01.2012