有两个java文件
第一个是package com.helloworld;import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.Toast;public class HelloworldActivity extends Activity {
static Context o;
    /** Called when the activity is first created. */
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.main);
        String n="number1";
        Context o=getApplicationContext();
        Toast.makeText(o, n,
        Toast.LENGTH_LONG).show();
        hello.on();
    }
}
第二个文件是package com.helloworld;import android.app.Application;
import android.content.Context;
import android.widget.Toast;
public class hello extends Application {
        Context aa;
    public static void on() {
        String n="number2";
        Toast.makeText(HelloworldActivity.o, n,
        Toast.LENGTH_LONG).show();
    }
}为什么模拟器里运行强制关闭~~~到底有什么问题,小弟是新学。请各位大神不吝赐教~~~

解决方案 »

  1.   

    05-06 08:29:49.623: E/AndroidRuntime(437): Uncaught handler: thread main exiting due to uncaught exception
    05-06 08:29:49.906: E/AndroidRuntime(437): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hello/com.hello.HelloworldActivity}: java.lang.NullPointerException
    05-06 08:29:49.906: E/AndroidRuntime(437):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at android.app.ActivityThread.access$2200(ActivityThread.java:119)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at android.os.Handler.dispatchMessage(Handler.java:99)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at android.os.Looper.loop(Looper.java:123)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at android.app.ActivityThread.main(ActivityThread.java:4363)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at java.lang.reflect.Method.invokeNative(Native Method)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at java.lang.reflect.Method.invoke(Method.java:521)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at dalvik.system.NativeStart.main(Native Method)
    05-06 08:29:49.906: E/AndroidRuntime(437): Caused by: java.lang.NullPointerException
    05-06 08:29:49.906: E/AndroidRuntime(437):  at android.widget.Toast.<init>(Toast.java:89)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at android.widget.Toast.makeText(Toast.java:231)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at com.hello.hello.on(hello.java:10)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at com.hello.HelloworldActivity.onCreate(HelloworldActivity.java:19)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    05-06 08:29:49.906: E/AndroidRuntime(437):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
    05-06 08:29:49.906: E/AndroidRuntime(437):  ... 11 more
    05-06 08:29:50.073: E/dalvikvm(437): Unable to open stack trace file '/data/anr/traces.txt': Permission denied
      

  2.   

    你的第二个文件需要在配置文件AndroidManifest.xml中进行配置,
                         <activity android :name=".helloworld"
      

  3.   

    这一句要改一下
    Context o=getApplicationContext();
    改成
    o=getApplicationContext();
      

  4.   

    static Context o;这句虽然定义了对像但没有初始化,也就是为null.
      

  5.   

    第一个java代码引用到了Hello的方法,报错的原因是空指针。你试试在第一个java代码中添加:Hello hello =new Hello();hello.on();