我想从数据库中获取名称并在textview中显示。我的应用程序已经安装时工作正常,但是当应用程序被卸载并再次安装时,它会给出IndexOutOfBoundException
。
这是我的代码:
if(c.getString(0)==null){
TextView w1=(TextView)findViewById(R.id.textVi1);
w1.setText("Welcome");
} else {
TextView w1=(TextView)findViewById(R.id.textVi1);
w1.setText("Welcome"+" "+c.getString(0)+",");
}
卸载并重新安装应用程序时,如何获取数据?
答案 0 :(得分:1)
试试这个。它可能有帮助。
public String getResult(String id)
{
String name = null;
try
{
Cursor c = null;
c = db.rawQuery("select name from person where id=" + "\""+id+"\"", null);
c.moveToFirst();
name = c.getString(c.getColumnIndex("name"));
c.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return name;
}
答案 1 :(得分:1)
在光标上调用getString()
之前,请确保它指向有效行:
if (c.moveToFirst()) {
// use c.getString(0)
} else {
// don't access cursor, no data
}