Android 检索sqlite数据库的最后一条记录

Android 检索sqlite数据库的最后一条记录,android,Android,我想设置上次从“number”列检索数据的文本 在运行时,我收到以下错误: public class PlaceCallActivity extends BaseActivity { private static final String SELECT_SQL = "SELECT * FROM numbers"; protected void onCreate(Bundle savedInstanceState) { opendatabase();

我想设置上次从“number”列检索数据的文本 在运行时,我收到以下错误:

 public class PlaceCallActivity extends BaseActivity {
    private static final String SELECT_SQL = "SELECT * FROM numbers";
    protected void onCreate(Bundle savedInstanceState) {
             opendatabase();
     c = db.rawQuery(SELECT_SQL, null);
            c.moveToLast();
        userNo.setText(c.getString(c.getColumnIndex("number")));
        }
    public void opendatabase(){
            db=openOrCreateDatabase("NumberDB", Context.MODE_PRIVATE, null);
 }
错误在我设置文本的第行


“userNo.setText(c.getString(c.getColumnIndex(“number”)));”

由于游标中没有数据,所以出现此错误,在从游标中获取数据之前,必须先检查其计数

CursorIndexOutOfBoundsException: Index -1 requested, with a size of 0

你会调试并检查c.getColumnIndex(“number”)的值吗?我想问题是没有找到你正在请求的数据。好的,没有插入的数据?我在另一个活动中正在做的事情我想你几乎做到了,但我想,通过做上面的事情,我遇到了更多的问题,因为我使用共享首选项创建登录,并使用此选项,即使我删除了我的应用程序,它仍然会进入或传递到另一个活动,而不会进入我插入数据的第一个位置。所以它将null值带到这个PlaceCallActivity,所以我执行了android:allowBackup=“false”然后我得到这个错误:任务执行失败:app:processDebugManifest'>清单合并失败:属性application@allowBackupAndroidManifest.xml:21:13-40中的值=(false)也存在于[com.msg91.sendotp.library:library:2.7]AndroidManifest.xml:12:9-35值=(true)。建议:向AndroidManifest.xml:19:5-50:19处的元素添加“tools:replace=“android:allowBackup””以覆盖。@SameerKhan1406然后按照消息的建议执行,并尝试添加“tools:replace=“android:allowBackup”“首先,我使用共享首选项创建登录,这样登录屏幕只出现一次,在同一活动中,我也在插入数据。还有一个活动,我正在做更多的重磅提升,因为第二个活动需要我插入的编号,所以我尝试从我在登录中创建的数据库中检索最后插入的编号activity@Raghavendra多亏你帮了我一部分,现在我想没有后援了
if(c.getCount()!=0)
{
    if(c.moveToLast())
    {
    }
}
public class PlaceCallActivity extends BaseActivity {
private static final String SELECT_SQL = "SELECT * FROM numbers";
protected void onCreate(Bundle savedInstanceState) {
         opendatabase();
 c = db.rawQuery(SELECT_SQL, null);
   if(c.getCount()>0)
      {
        c.moveToLast();
    userNo.setText(c.getString(c.getColumnIndex("number")));
  }  
  }
public void opendatabase(){
        db=openOrCreateDatabase("NumberDB", Context.MODE_PRIVATE, null);
}