我的Android模擬器強制每次我嘗試運行它時都會退出程序。我不知道爲什麼,請幫助我!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: [email protected]
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,並轉移到石英
這裏是我的船的構造
/**Represents the Ship in the game*/
class Ship extends FloatObject{
Image SpaceShip = new FromFile("spaceship.png");
double angle;
double speed = 2;
如果您讓代碼更具可讀性,即修復代碼標記,它確實會幫助我們。 – ambagesia
顯示LogCat輸出... –
似乎你在AstroidWorld構造函數中有一個NPE,請粘貼相關代碼。 – MByD