Android-эмулятор принудительно закрывается - PullRequest
0 голосов
/ 02 июля 2011

Мой эмулятор Android принудительно закрывает мою программу каждый раз, когда я пытаюсь ее запустить. Я понятия не имею, почему, пожалуйста, помогите мне!

public class AsteroidsToo extends Activity {
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     new AsteroidWorld(3).bigBang(this);
    }

}

Вот ошибки LogCat:

07-02 17:27:54.873: WARN/dalvikvm(332): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
07-02 17:27:54.893: ERROR/AndroidRuntime(332): FATAL EXCEPTION: main
07-02 17:27:54.893: ERROR/AndroidRuntime(332): java.lang.RuntimeException: Unable to start activity ComponentInfo{foo.AsteroidsToo/foo.AsteroidsToo.AsteroidsToo}: java.lang.NullPointerException
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at android.os.Looper.loop(Looper.java:123)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at android.app.ActivityThread.main(ActivityThread.java:4627)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at java.lang.reflect.Method.invokeNative(Native Method)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at java.lang.reflect.Method.invoke(Method.java:521)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at dalvik.system.NativeStart.main(Native Method)
07-02 17:27:54.893: ERROR/AndroidRuntime(332): Caused by: java.lang.NullPointerException
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at java.util.Hashtable.put(Hashtable.java:369)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at android.image.FromFile.<init>(FromFile.java:25)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at foo.AsteroidsToo.Ship.<init>(AsteroidsToo.java:75)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at foo.AsteroidsToo.AsteroidWorld.<init>(AsteroidsToo.java:196)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at foo.AsteroidsToo.AsteroidsToo.onCreate(AsteroidsToo.java:13)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
07-02 17:27:54.893: ERROR/AndroidRuntime(332):     ... 11 more
07-02 17:27:54.923: WARN/ActivityManager(59):   Force finishing activity foo.AsteroidsToo/.AsteroidsToo
07-02 17:27:55.433: WARN/ActivityManager(59): Activity pause timeout for HistoryRecord{45053848 foo.AsteroidsToo/.AsteroidsToo}
07-02 17:28:03.173: WARN/InputManagerService(59): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@44f2b9d8
07-02 17:28:06.287: WARN/ActivityManager(59): Activity destroy timeout for HistoryRecord{45053848 foo.AsteroidsToo/.AsteroidsToo}

Вот код для моего конструктора:

/**Represents the World*/
class AsteroidWorld extends VoidWorld{
    Ship sh;
    ArrayList<Bullet> b;
    ArrayList<Asteroids> a;
    int score;
    int HighScore;
    State state;
    int lives;
    double timer;

    public AsteroidWorld(int lives) {
        super();
        this.sh = new Ship(300.0,300.0,0.0,0.0,90.0);
        this.b = new ArrayList<Bullet>();
        this.a = new ArrayList<Asteroids>();
        this.score = 0;
        this.HighScore = 0;
        this.timer = 3.0;
        this.state = new Lose();
        this.lives = lives;

Я также получаю сообщение об ошибке:

[2011-07-02 20:08:08 - Эмулятор] 2011-07-02 20: 08: 08.156 эмулятор [14734: 903] Предупреждение: это приложение или библиотека, которую он использует, используя NSQuickDrawView, который был осуждается. Приложения должны прекратить использование QuickDraw и перейти к Quartz

Вот мой конструктор корабля

/**Represents the Ship in the game*/
class Ship extends FloatObject{
Image SpaceShip = new FromFile("spaceship.png");
double angle;
double speed = 2;

1 Ответ

0 голосов
/ 07 июля 2011

Я предполагаю, что в конструкторе Ship, который вы не показываете, в строке, где вы создаете новый экземпляр FromFile, вы передаете нулевое значение конструктору FromFile. Конструктор FromFile ожидает строку. Возможно, вы даже пытаетесь передать ему строку, но все, что она там получает, вероятно, фактически равно нулю.

Конструктор FromFile помещает значение в HashTable, и это значение равно нулю вместо ожидаемого. Это все, что я могу собрать, не видя здесь всего необходимого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...