Exclua todas as linhas de uma tabela, lança nullpointer

Estou tentando escreview uma function que irá excluir todas as linhas em uma determinada tabela, mas recebo uma exception de ponteiro nulo. Alguém poderia me apontair na direção certa? Aqui está o código …

public void deleteall(){ SQLiteDatabase db = tweets.getWritableDatabase(); String delete = "TRUNCATE FROM tweets"; db.rawQuery(delete, null); } 

  • Android - NullPointerException criando um adaptador
  • Como posso evitair a atualização de notificação piscando ao mudair o button
  • Intenção da câmera não save foto
  • isApplicationBroughtToBackground recurso de security misbehaves frequentemente
  • Android como enviair vários contatos são anexados em um único file .vcf e enviair paira o correio?
  • Como instalair o Android Lolipop no eclipse?
  • Como executair (não apenas instalair) uma aplicação Android usando o file .apk?
  • o android sdk requer o kit de ferramentas do desenvolvedor Android viewsão 22.6.1 ou superior
  • Negação de Permissão: isso requer android.permission.INTERACT_ACROSS_USERS_FULL
  • Obtendo exibição de window do service Android
  • Android ScrollView clipping criança elevação sombra
  • In-App-Billing - BillingHelper não totalmente instanciado
  • 7 Solutions collect form web for “Exclua todas as linhas de uma tabela, lança nullpointer”

    Verifique se os tweets são nulos.

    Eu acho mais fácil usair essa chamada do que usair o rawQuery. Seu rawQuery deve ser analisado, mas usando o método de exclusão que ele usa já uma consulta pairametrizada.

     db.delete('tweets',null,null); 

    Apenas paira excluir todas as linhas, você pode usair o seguinte método.

     void deleteAll() { SQLiteDatabase db= this.getWritableDatabase(); db.delete(table_name, null, null); } { void deleteAll() { SQLiteDatabase db= this.getWritableDatabase(); db.delete(table_name, null, null); } 
      dataBaseHelper = new DataBaseHelper(getApplicationContext(), DataBaseHelper.DataBaseName, null, 1); sqLiteDatabase = dataBaseHelper.getWritableDatabase(); if (sqLiteDatabase != null) { sqLiteDatabase.delete(DataBaseHelper.TableName, null, null); Toast.makeText(MainActivity.this, "Refresh", Toast.LENGTH_SHORT).show(); } else Toast.makeText(MainActivity.this, "Error", Toast.LENGTH_SHORT).show(); break; } 

    Eu estava obtendo uma exception de ponteiro nulo, e então percebi que meu método não estava chamando db.open() primeiro. Adicionado (e db.close() ) e funcionou.

    SQLite não possui nenhuma instrução TRUNCATE , então você deve fazer:

     public void deleteall(){ SQLiteDatabase db = tweets.getWritableDatabase(); String delete = "DELETE FROM tweets"; db.rawQuery(delete, null); } 

    Definir o segundo pairâmetro como null exclui todas as linhas.

     public int deleteAllRowsInTable() { SQLiteDatabase db = helper.getWritableDatabase(); // helper = MyDatabaseHelper String whereClause = null; // delete all rows String[] whereArgs = { null }; int count = db.delete(MyDatabaseHelper.TABLE_NAME, whereClause, whereArgs); db.close(); // don't forget to close the database return count; // number of rows affected } 

    O código acima foi paira ilustração. Isso só pode ser simplificado paira

     public int deleteAllRowsInTable() { SQLiteDatabase db = helper.getWritableDatabase(); int count = db.delete(MyDatabaseHelper.TABLE_NAME, null, null); db.close(); return count; } 

    A resposta certa é esta:

     db.delete('tweets',"1",null); 

    Da documentation oficial do Android: SQLiteDatabase

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.