Java 构造函数错误和变量解析

Java 构造函数错误和变量解析,java,android,Java,Android,我的android应用程序意外停止。我已经按照logcat的指示查看了受影响的类,但似乎不知道错误来自何处 enter code here 03-23 14:22:11.258: D/AndroidRuntime(274): Shutting down VM 03-23 14:22:11.258: W/dalvikvm(274): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 03-23 14:22:1

我的android应用程序意外停止。我已经按照logcat的指示查看了受影响的类,但似乎不知道错误来自何处

enter code here
03-23 14:22:11.258: D/AndroidRuntime(274): Shutting down VM
03-23 14:22:11.258: W/dalvikvm(274): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
03-23 14:22:11.258: E/AndroidRuntime(274): FATAL EXCEPTION: main
03-23 14:22:11.258: E/AndroidRuntime(274): java.lang.Error: Unresolved compilation problems: 
03-23 14:22:11.258: E/AndroidRuntime(274):  com cannot be resolved to a variable
03-23 14:22:11.258: E/AndroidRuntime(274):  example cannot be resolved to a variable
03-23 14:22:11.258: E/AndroidRuntime(274):  virtualgallery cannot be resolved to a variable
03-23 14:22:11.258: E/AndroidRuntime(274):  Main cannot be resolved to a variable
03-23 14:22:11.258: E/AndroidRuntime(274):  Constructor call must be the first statement in a constructor
03-23 14:22:11.258: E/AndroidRuntime(274):  at com.example.virtualgallery.VirtualGallery$SplashHandler.<init>(VirtualGallery.java:25)
03-23 14:22:11.258: E/AndroidRuntime(274):  at com.example.virtualgallery.VirtualGallery.onCreate(VirtualGallery.java:45)
03-23 14:22:11.258: E/AndroidRuntime(274):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-23 14:22:11.258: E/AndroidRuntime(274):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
03-23 14:22:11.258: E/AndroidRuntime(274):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
03-23 14:22:11.258: E/AndroidRuntime(274):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
03-23 14:22:11.258: E/AndroidRuntime(274):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
03-23 14:22:11.258: E/AndroidRuntime(274):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-23 14:22:11.258: E/AndroidRuntime(274):  at android.os.Looper.loop(Looper.java:123)
03-23 14:22:11.258: E/AndroidRuntime(274):  at android.app.ActivityThread.main(ActivityThread.java:4627)
03-23 14:22:11.258: E/AndroidRuntime(274):  at java.lang.reflect.Method.invokeNative(Native Method)
03-23 14:22:11.258: E/AndroidRuntime(274):  at java.lang.reflect.Method.invoke(Method.java:521)
03-23 14:22:11.258: E/AndroidRuntime(274):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-23 14:22:11.258: E/AndroidRuntime(274):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-23 14:22:11.258: E/AndroidRuntime(274):  at dalvik.system.NativeStart.main(Native Method)
03-23 14:22:16.748: I/Process(274): Sending signal. PID: 274 SIG: 9
这是舱单

<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="1" android:versionName="1.0" package="com.example.virtualgallery" 
    android:targetSdkVersion="10"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.CAMERA" />
    <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"  android:allowBackup="true">


        <activity android:label="@string/app_name" android:name=".VirtualGallery">            
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:label="@string/app_name" android:name=".Main">
            <action android:name="com.example.virtualgallery.main" />
        </activity>
        <activity android:label="@string/app_name" android:name=".Main2">
            <action android:name="com.example.virtualgallery.main" />
        </activity>
        <activity android:label="@string/app_name" android:name=".Main3">
            <action android:name="com.example.virtualgallery.main" />
        </activity>
        <activity android:label="@string/app_name" android:name=".Pic">
            <action android:name="com.example.virtualgallery.main" />
        </activity>
    </application>
</manifest>

这对我来说很有用:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

public class MainActivity extends Activity {


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Handler x = new Handler();
  x.postDelayed(new SplashHandler(), 2000);



}

class SplashHandler implements Runnable {
    public void run() {
        Intent myIntent = new Intent(MainActivity.this, MainActivity.class);
        startActivity(myIntent);
    }
}



}

确保在清单中声明活动

您将旧类与新类混合在一起。删除所有的*.class文件,重新编译所有源代码,修复可能的错误,在设备上重新安装应用程序。你是如何得出我把代码弄混的结论的?因为这实际上是正确的。我丢失了最初的应用程序代码,但反编译了.apk文件,并将classess和xml文件复制到一个新项目中。显然,我把事情搞砸了,。关于如何正确编译源代码的任何建议。我对编程很陌生。试试
(new SplashHandler().run();,2000)@user3263215,因为错误显示“未解决的编译问题”,并表示在您的类中找不到几个变量。是否有方法正确编译我的源代码,因为我弄错了。但这与我得到的代码相同,并且我得到的错误相同。1。确保在清单2中正确声明了活动。确保setContentView(R.layout.splash)正确;正在膨胀正确的xml文件。如果可以,则运行程序,保存整个日志并发送
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

public class MainActivity extends Activity {


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Handler x = new Handler();
  x.postDelayed(new SplashHandler(), 2000);



}

class SplashHandler implements Runnable {
    public void run() {
        Intent myIntent = new Intent(MainActivity.this, MainActivity.class);
        startActivity(myIntent);
    }
}



}