You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android的TextView中显示数据库存储的昵称?

解决SQLite昵称显示到TextView的问题

第一步:修正DatabaseHelper中的查询方法

你的displayNickname方法SQL语句存在语法错误,SELECT子句需要指定查询的列,且缺少FROM关键字,修正后代码如下:

Cursor displayNickname(){
    String query = "SELECT " + COLUMN_NICKNAME + " FROM " + TABLE_NICKNAME + " WHERE " + COLUMN_ID + " = 1";
    SQLiteDatabase db = this.getReadableDatabase();

    Cursor cursor = null;
    if (db != null) {
        cursor = db.rawQuery(query, null);
    }
    return cursor;
}

第二步:在Dashboard页面读取数据并显示

在onCreate方法中添加代码,通过Cursor获取数据库中的昵称,然后设置到TextView:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_dashboard);

    DatabaseHelper DATABASE_NICKNAME = new DatabaseHelper(Dashboard.this);
    TextView nickname = findViewById(R.id.nickname);

    Cursor cursor = DATABASE_NICKNAME.displayNickname();
    if (cursor != null && cursor.moveToFirst()) {
        // 从Cursor中取出昵称,索引0对应查询的COLUMN_NICKNAME列
        String userNickname = cursor.getString(0);
        nickname.setText(userNickname);
        // 关闭Cursor释放资源
        cursor.close();
    } else {
        // 无数据时显示默认文本
        nickname.setText("暂无昵称");
    }
}

注意事项

  • 确保已成功插入ID为1的昵称数据,否则查询会返回空结果
  • 必须关闭Cursor,避免内存泄漏
  • 若需要读取最新插入的昵称而非固定ID=1的记录,可修改SQL为SELECT " + COLUMN_NICKNAME + " FROM " + TABLE_NICKNAME + " ORDER BY " + COLUMN_ID + " DESC LIMIT 1

内容的提问来源于stack exchange,提问作者Astryugh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:50:18