【发布时间】:2017-10-14 19:16:57
【问题描述】:
我在src/main/assets 中有一个名为books.sqlpro 的数据库,其中包含id、title、author 和body 列。
我想用数据库中的所有作者按字母顺序填充 ListView。
鉴于我没有指定我的数据库位置,我并不感到惊讶,但它给出的唯一错误是Cannot resolve method 'getReadableDatabase()'。
这是我的代码:
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);
}
}
提前感谢您的帮助!
【问题讨论】: