2016-02-21 1 views
3

Я пытаюсь вставить одну строку с id и timestamp в базу данных sqlite, щелкнув мое приложение Android на виртуальном устройстве.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));"); 

Когда я запускаю приложение, вставляет три строки в db вместо одной строки?

Любое предложение?

Здесь 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 
+0

Вы можете использовать ContentValues ​​для вставки в базу данных. Отладка с точкой останова, как она вставляет 3 раза –

+1

Опубликуйте свой 'onClickListener'. – cylon

+0

вы, вероятно, звоните 3 раза, покажите весь класс –

ответ

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?

Смежные вопросы