如何将单个SQLite数据显示到textview中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将单个SQLite数据显示到textview中?相关的知识,希望对你有一定的参考价值。

我想从现有数据库中检索数量并将其显示在TextView中。

我已经创建了数据库。但是当我尝试获取并显示金额时,我的应用程序会一直崩溃。

/database helper.Java/

   public Cursor getBalance(String amount) {
    SQLiteDatabase db = this.getReadableDatabase();

    String selectQuery = "SELECT  * FROM " + TABLE_USER_BALANCE + " WHERE "
            + KEY_AMOUTNT + " = " + amount;

    Log.e(LOG, selectQuery);

    Cursor c = db.rawQuery(selectQuery, null);

    if (c != null)
        c.moveToFirst();

    Balance b = new Balance();
    b.setAmount(c.getInt(c.getColumnIndex(KEY_AMOUTNT)));

    return (Cursor) b;
}

仪表板类:

public void saveCallBack(Balance balance) {


   DataBaseHelper dataBaseHelper = new DataBaseHelper(context);
    Cursor cursor = dataBaseHelper.getBalance(DashBoard.email);
  while (cursor.moveToNext()) {
        String s_amount = "";
        s_amount = 
      cursor.getString(cursor.getColumnIndex(DataBaseHelper.KEY_AMOUTNT));

        Double amount = 0.0;
        if (AppUtility.isNum(s_amount)) {
            amount = Double.parseDouble(s_amount);
        }

        TextView Amount = findViewById(R.id.amount);
        Amount.setText(String.valueOf(amount));


    }

}
答案

你正在向Balance施放Cursor这是不可能的,因此你的应用程序将崩溃。您要么返回数据库Cursor本身,要么返回Balance对象。你已经创建了Balance实例并在其中放置了一些值,所以我假设你的代码应该是这样的:

public Balance getBalance(String amount) {
    ...

    Balance b = new Balance();
    b.setAmount(c.getInt(c.getColumnIndex(KEY_AMOUTNT)));
    return b;
}

我建议你学习一些关于Java的转换,这样你就会理解转换行为。

以上是关于如何将单个SQLite数据显示到textview中?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SQLITE DATABASE 获取特定数据并在 TextView 中显示

在表格布局中显示来自 sqlite 的数据,

如何使用其id获取单个SQLite行数据?

如何在 Android Studio 中显示来自 SQLite 数据库浏览器的图像?

将改造数组数据插入到 sqlite

求和列 SQLite Android 并在 TextView 上显示 [关闭]