SQLite插入三行而不是一行

时间:2016-02-21 14:58:58

标签: java android sqlite android-sqlite

我正在尝试通过在虚拟设备上单击我的Android应用程序,将一行idtimestamp插入到sqlite数据库中。

private final String create_table = "CREATE TABLE clicks ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, timestamp INTEGER(4) NOT NULL);";

db.execSQL("insert into clicks(timestamp) values (strftime(\"%s\", CURRENT_TIME));");

当我运行应用程序时,在数据库中插入三行而不是一行?

有什么建议吗?

这里是MainActivity:

公共类MainActivity扩展了AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    SQLite sqlite = new SQLite( this );
    sqlite.open();

    sqlite.insert();

    sqlite.close();

    System.exit(0);

}

}

当我关闭它时,应用程序重启两次。 “System.exit(0)”

02-21 18:10:11.558 2232-2232/? I/art: System.exit called, status: 0
02-21 18:10:11.558 2232-2232/? I/AndroidRuntime: VM exiting with result code 0, cleanup skipped.
02-21 18:10:11.575 1203-1216/? I/ActivityManager: Process com.click.nautilus.click (pid 2232) has died
02-21 18:10:11.581 2246-2246/? I/art: Not late-enabling -Xcheck:jni (already on)
02-21 18:10:11.595 1203-1216/? I/ActivityManager: Start proc 2246:com.click.nautilus.click/u0a54 for activity com.click.nautilus.click/.MainActivity  

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。 不建议System.exit(0)完成应用。

再次感谢你。

最后,MainActivity看起来像这样:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    SQLite sqlite = new SQLite(this);
    sqlite.open();

    sqlite.insert();

    sqlite.close();

    setResult(0);
    finish();

}

关于关闭应用的更多信息:

How to close Android application?