我的项目中是否需要此代码?

时间:2017-06-28 14:53:28

标签: android android-activity android-sqlite

我在这个函数中注释了几行代码,因为我不确定它们的用途是什么。然而,当我运行我的Android应用程序时,一切都完美无缺...所以我认为我不需要它们,它们在我的项目中没有用处。

private void deleteRoutine() {
    myDb.deleteRoutineForCurrentDay(currentDay);
    Intent intent = getIntent();
    //intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    //finish();
    //overridePendingTransition(0, 0);
    startActivity(intent);

    MediaPlayer mymedia = MediaPlayer.create(MondayRoutineEdit.this, R.raw.clearroutine);
    mymedia.start();
}

}

public void deleteRoutineForCurrentDay(String selectedDay)
{
    SQLiteDatabase db = this.getWritableDatabase();
    db.execSQL("DELETE FROM " + RoutineTable + " WHERE DayOfWeek ='" + selectedDay + "'");
}

1 个答案:

答案 0 :(得分:0)

  1. //intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
  2. 这是Intent所说的: -

      

    如果在传递给Context.startActivity()的Intent中设置,则此标志将为   阻止系统将活动转换动画应用于   进入下一个活动状态。

    您可能希望查看此Android - How to stop animation between activity changes

    我建议在正常情况下省略这不是问题。但是,决定可能取决于您如何对上述代码进行编码。如果你基本上复制了一个应用程序,那么可能有充分的理由使用这些代码。如果你要复制部分代码,那么最好省略它。

    1. //finish();
    2. 如果您使用上述内容,它将从堆栈中删除活动,这可能会导致您遇到问题,例如使用后退按钮不会将您带回此活动(因为它现在不存在于堆栈中)并且可能会使最终用户感到困惑。如果您基本上复制了整个应用程序,那么它可能已被包含在一个充分的理由中。如果您只是复制了代码块或基于您的代码,那么您可能想要省略它。

      您可能希望查看finish以及活动的其余部分。

      1. //overridePendingTransition(0, 0);这在Android中讨论 - 如何在活动更改之间停止动画。链接上面。您可能还希望看一下overridePendingTransition
      2. 是否省略基本相同,可能取决于代码的来源。