Java 应用程序未加载。初始活动中oncreate方法中的永无止境循环

Java 应用程序未加载。初始活动中oncreate方法中的永无止境循环,java,android,sqlite,Java,Android,Sqlite,我的问题是,由于最近的一次更改,我的应用程序不再加载。 我也不例外,应用程序不会崩溃,只是没有加载。 当我调试时,我看到我的应用程序正在循环onCreate中调用。。。。 我不知道为什么。 我最近对我的SQLite管理进行了更改 MyApplication.java public class MyApplication extends Application { public static DbHandler handler; .... @Override public vo

我的问题是,由于最近的一次更改,我的应用程序不再加载。 我也不例外,应用程序不会崩溃,只是没有加载。 当我调试时,我看到我的应用程序正在循环onCreate中调用。。。。 我不知道为什么。 我最近对我的SQLite管理进行了更改

MyApplication.java

public class MyApplication extends Application {
    public static DbHandler handler;
    ....
@Override
  public void onCreate()
  {
    super.onCreate();
    handler = new DbHandler(this);
  }

}

Class DbHandler(this)

    public class DbHandler extends SQLiteOpenHelper {

    public static final int DATABASE_VERSION = 2;
    public static final String DATABASE_NAME = "myapp.db";

    public DbHandler(Context context) {

        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        DatabaseManager.initializeInstance(this);

    }

    // Creating Tables
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("DROP TABLE IF EXISTS " + PdvHandler.TABLE_SHOP);
        db.execSQL("DROP TABLE IF EXISTS " + PdvHandler.TABLE_PROJECT);
        // db.execSQL("DROP TABLE IF EXISTS " + TABLE_CAPTURE_INFO);
        db.execSQL(PdvHandler.CREATE_PDV_TABLE);

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        int upgradeTo = oldVersion + 1;
        while (upgradeTo <= newVersion) {
            switch (upgradeTo) {
            case 2:
                try{
                    db.execSQL(AlertaHandler.DROP_ALERT);
                    db.execSQL(AlertaHandler.CREATE_ALERT);                 
                }catch (Exception e) {
                    Crashlytics.logException(e);
                }
                break;
            }
            upgradeTo++;
        }
    }
}
问题一定在那里,因为这就是我所改变的。 我只是不知道应该发生什么,以便在neverending循环中调用初始活动(在neverending循环中调用onCreate in)

在onCreate中循环的我的活动

public class SplashScreen extends Activity {
private Context ctx = null;
private Usuario mUser = null;
SharedPreferences prefs;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Crashlytics.start(this);
    setContentView(R.layout.splash);
    ctx = this;
    prefs = PreferenceManager.getDefaultSharedPreferences(this);
    String activityName = getClass().getSimpleName().toString();
    prefs.edit().putString("FrontActivity", activityName).commit();

    }
}
编辑: 当我评论时:

                    Intent i = new Intent(SplashScreen.this,
                            LoginActivity.class);
                    startActivity(i);
在我的SplashScreen中,它不再循环 LoginActivity只不过是显示登录屏幕而已

编辑2: 我在Crashlytics上有一个日志,我无法轻松建立关系,但它可能会有所帮助

Fatal Exception: java.lang.RuntimeException
Could not read input channel file descriptors from parcel.
 raw
android.view.InputChannel.nativeReadFromParcel (InputChannel.java)
android.view.InputChannel.readFromParcel (InputChannel.java:135)
android.view.IWindowSession$Stub$Proxy.add (IWindowSession.java:523)
android.view.ViewRootImpl.setView (ViewRootImpl.java:664)
android.view.WindowManagerImpl.addView (WindowManagerImpl.java:326)
android.view.WindowManagerImpl.addView (WindowManagerImpl.java:224)
android.view.WindowManagerImpl$CompatModeWrapper.addView (WindowManagerImpl.java:149)
android.view.Window$LocalWindowManager.addView (Window.java:552)
android.app.ActivityThread.handleResumeActivity (ActivityThread.java:2684)
android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2122)
android.app.ActivityThread.access$700 (ActivityThread.java:134)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1218)
android.os.Looper.loop (Looper.java:137)
android.app.ActivityThread.main (ActivityThread.java:4867)
java.lang.reflect.Method.invokeNative (Method.java)
dalvik.system.NativeStart.main (NativeStart.java)

问题是

你给调试器打过电话,问他有什么要说的吗?这不是你的启动屏幕吗?所以它什么都不做,只是设置了一个首选项?你怎么知道它的循环,你在onCreate中打印了日志吗?为什么处理程序是静态的?我的调试器告诉我它正在循环。我的闪屏做了很多事情。它将我的sqlite数据库与外部mysql数据库同步,我对所有的同步操作都发表了评论,它仍然在循环!
Fatal Exception: java.lang.RuntimeException
Could not read input channel file descriptors from parcel.
 raw
android.view.InputChannel.nativeReadFromParcel (InputChannel.java)
android.view.InputChannel.readFromParcel (InputChannel.java:135)
android.view.IWindowSession$Stub$Proxy.add (IWindowSession.java:523)
android.view.ViewRootImpl.setView (ViewRootImpl.java:664)
android.view.WindowManagerImpl.addView (WindowManagerImpl.java:326)
android.view.WindowManagerImpl.addView (WindowManagerImpl.java:224)
android.view.WindowManagerImpl$CompatModeWrapper.addView (WindowManagerImpl.java:149)
android.view.Window$LocalWindowManager.addView (Window.java:552)
android.app.ActivityThread.handleResumeActivity (ActivityThread.java:2684)
android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2122)
android.app.ActivityThread.access$700 (ActivityThread.java:134)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1218)
android.os.Looper.loop (Looper.java:137)
android.app.ActivityThread.main (ActivityThread.java:4867)
java.lang.reflect.Method.invokeNative (Method.java)
dalvik.system.NativeStart.main (NativeStart.java)