Java 我想使用AsyncTask将现有sqlite数据库中的列项显示到autocompletetextview中
这是我的Java 我想使用AsyncTask将现有sqlite数据库中的列项显示到autocompletetextview中,java,android,sqlite,android-asynctask,Java,Android,Sqlite,Android Asynctask,这是我的getall()方法,它位于DataBaseHelper类中 public ArrayList<String> getAll(){ ArrayList<String> listUsers = new ArrayList<String>(); SQLiteDatabase db = this.getWritableDatabase(); Cursor c; try {
getall()
方法,它位于DataBaseHelper
类中
public ArrayList<String> getAll(){
ArrayList<String> listUsers = new ArrayList<String>();
SQLiteDatabase db = this.getWritableDatabase();
Cursor c;
try {
c = db.rawQuery("SELECT * FROM bank" , null);
if(c == null) return null;
String name;
c.moveToFirst();
do {
name = c.getString(1);
listUsers.add(name);
} while (c.moveToNext());
c.close();
} catch (Exception e) {
Log.e("blushmaq", e.getMessage());
}
db.close();
return listUsers;
}
我得到了错误
ArrayIndexOutofBoundException Length=0 Index=0
您的数据库似乎没有任何值,或者您没有正确声明任何数组。
并检查条件“if(brands!=null)”以及brand.size()>0
重新安装应用程序
原因是,
db.execSQL("DROP TABLE IF EXISTS bank");
如果你不想这样做
卸载应用程序并再次安装
reference您的myDbHelper.getAll()是否返回一些值?完整的堆栈跟踪将有所帮助。@PramodWaghmare它实际上没有存储任何内容。调试显示值0。@JornBuitink堆栈跟踪显示表名不存在。检查我的回答尝试使用brand.size()>0,它不会给出任何错误,但edittext中仍然没有显示任何建议。1)您收到brand中的任何值吗?如果没有,则首先在sqlite DB中插入值,然后重试。如果db是空的,那么它什么也不显示。我不知道如何检查品牌的内容。你能帮我吗?数据库已经包含了这些记录。它不是空的,品牌没有任何价值。我做了一个系统输出打印。我得到的错误是表不存在。然后首先在数据库中插入所需的值。然后从数据库中检索值。事情是..我没有对数据库做任何更改。我只想从中读取记录并显示。数据库已经创建。我的应用只想访问和显示其内容。卸载应用,然后重新安装
db.execSQL("DROP TABLE IF EXISTS bank");