J'ai une base de données appelée books.sqlpro
en src/main/assets
avec des colonnes id
, title
, author
et body
.Ne peut pas afficher les données SQLite dans ListView
Je voudrais remplir un ListView avec tous les auteurs dans la base de données dans l'ordre alphabétique.
Je ne suis pas surpris que cela ne fonctionne pas, car je n'ai pas spécifié l'emplacement de ma base de données, mais la seule erreur qu'il donne est Cannot resolve method 'getReadableDatabase()'
.
Voici mon code:
package com.example.apple.bookshelf;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity {
private ListView mainListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainListView = (ListView) findViewById(R.id.mainListView);
String Table_Name = "books";
String selectQuery = "SELECT * FROM " + Table_Name;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
cursor.moveToFirst();
String[] NameArray = new String[cursor.count()];
ArrayAdapter<String> arrayAdapter =
new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, NameArray);
mainListView.setAdapter(arrayAdapter);
}
}
Merci d'avance pour votre aide!